[PHP-users 29652] セッションの確立のチェック

青山慎一 aoyama @ ddthink.com
2006年 7月 7日 (金) 21:49:05 JST


こんにちは、Shouです。

ユーザIDとパスワードからログインを行う処理を作っているのですが、
セッションの確立をチェックする処理の所で

Session_Start();
//セッションが確立していない場合だけ、パスワード認証を行う
if( !($_SESSION["is_cert"]) ) {
	//認証
	if( !($_REQUEST["userid"]) || !($_REQUEST["password"]) || !MyCertification($_REQUEST["userid"], $_REQUEST["password"]) ) {
		//認証に失敗した場合
		print "\n「失敗」\n";
		print "</body></html>";
		exit;
	}
	//認証に成功したときだけ、セッション変数に値をセットする
	$_SESSION["userid"]=$_REQUEST["userid"];
	$_SESSION["is_cert"] = TRUE;
}
(MyCertificationはオリジナルのIDとパスワードのチェック関数)

というソースコードを書いたのですが、実行してみると
Notice: Undefined index: is_cert in c:\Inetpub\wwwroot\phpsample\4\4_3login02\login.php on line 46
というエラーが出ました。
"is_cert"はここ以外には登場せず、動作が不明なインデックスなのですが、
Session_Start();の後に
$_SESSION["is_cert"] = TRUE;を表記すると
エラーメッセージは出ません(ただし、ユーザIDとパスワードは無意味になりますが)
どのようにすればエラーメッセージが出なくなるのでしょうか?
また、"is_cert"はどのような機能を持っているのでしょうか?

よろしくお願いします。


PHP-users メーリングリストの案内