2006年7月 7日

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


渡辺です。

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 "";
> 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 mailing list PHP-users@xxxxx
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2006年7月 7日 21:59
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/39159
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。