下記ソースがcontents.phpの内容です。
<?php
ini_set("include_path", '/home/***/public_html/PEAR/PEAR' . PATH_SEPARATOR . ini_get("include_path"));
require_once("Auth/Auth.php");
function loginFunction($usr,$status){
require_once("loginForm.php");
}
$params=array(
"dsn"=>"mysql://***:***@localhost/***",
"table"=>"tblarchitect",
"usernamecol"=>"username",
"passwordcol"=>"password");
$myAuth=new Auth("DB", $params, "loginFunction");
$myAuth->start();
if($myAuth->getAuth()){
print("認証済みです。");
}
?>
contents.phpを実行するとログインフォームを提供しているLoginForm.phpを呼び出します。
その後認証が成功したら「認証済みです。」と表示されますが、これを認証が成功したら指定したPHPファイルやHTMLを表示させるように変更したいのですがどのように記述すれば良いのでしょうか?
どうかご教授お願いします。
PearのAuth自体がセッション管理を行っているので、認証をかけたい全てのページに同様のコードを書いていくのが本筋ではないかと思います。つまり
$myAuth->start(); if($myAuth->getAuth()){ ?> ここにHTMLを入れる <?php }
という書き方のなるのではないかと思います。一回認証が通ればセッションがタイムアウトになるまではログインページは読み出されず認証された状態で表示されるようになりますよ。
もっとも簡単な方法ですが、
if($myAuth->getAuth()){
}
内に
http://neta.ywcafe.net/000372.html
を実行して頂ければ可能かと思います。
指定されたページへジャンプさせることも可能ですが、その場合ログイン情報を維持するための記述が必要になります。