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

Y.Watanabe haward99 @ yahoo.co.jp
2006年 7月 7日 (金) 21:59:47 JST


渡辺です。

Fatal ErrorでもWarningでもなく

> Notice: Undefined index: is_cert in c:\Inetpub\wwwroot\phpsample\4\4_3login02\login.php on line 

Noticeとなっているように、これはコードの問題と言うよりは
php.iniで設定するようなエラー表示レベルの問題と考えて
そのあたりを検討したらいかがでしょうか。
http://jp.php.net/manual/ja/ref.errorfunc.php#errorfunc.constants


青山慎一 wrote on 2006/07/07 21:49
with Subject: [PHP-users 29652] セッションの確立のチェック

> こんにちは、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 メーリングリストの案内