こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHP 下記エラーメッセージの解消について

下記PHP エラーメッセージの解消方法と、正常にプログラムが動くための簡単なスクリプトも添えていただければ幸いです。よろしくお願い申し上げます。


■エラーメッセージ
(1)Notice: Undefined variable: error in C:\xampp on line 66
(2)Notice: Undefined variable: error in C:\xampp on line 69


■スクリプト
<body>
<h1>ログインする</h1>
<form action="" method="post">
<dl>
<dt>メールアドレス</dt>
<dd>

⇒(ここからPHP文です) <input type="text" name="email" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['email']); ?>" />
<?php if ($error['login'] == 'blank'): ?>
<p class="error">* メールアドレスとパスワードをご記入ください</p>
<?php endif; ?>
<?php if ($error['login'] == 'failed'): ?>
<p class="error">* ログインに失敗しました。正しくご記入ください。</p>
<?php endif; ?> ⇒(ここまでPHP文です)


</dd>
<dt>パスワード</dt>
<dd>
<input type="password" name="password" size="35" maxlength="255" value="<?php echo htmlspecialchars($_POST['password']); ?>" />
</dd>
......省略
</form>


なのですが、
下記エラーメッセージが出てしまいます。
(1)Notice: Undefined variable: error in C:\xampp on line 66
(2)Notice: Undefined variable: error in C:\xampp on line 69
これは、上記スクリプトのPHP文を指しております。


どのように初期化をすればよいかわからず、ここで立ち止まっておりました。
☆どうすればこのエラーメッセージを解消でき、また、本スクリプトが正常に作動しますでしょうか?
☆初期化のためのスクリプトを添えて頂ければ嬉しく思います。

みなさまのお力を貸して頂ければ幸いでございます。
よろしくお願い申し上げます。

投稿日時 - 2011-03-21 18:47:32

QNo.6609961

すぐに回答ほしいです

質問者が選んだベストアンサー

たぶんですが、

$error['login']

と言う値が存在していないのが原因です。
ただ、NOTICEですので、スクリプトの実行は継続され、
動作は普通にできているはずです。

(<p class="error">* メールアドレスとパスワードをご記入ください</p>が表示されないだけかと)

解決法としては、

<?php if( !isset($error['login'])){$error['login']="blank";}?>

この一文を、$error['login']を使っている箇所より上に入れれば、
とりあえず、エラーは表示されなくなるはずです。

投稿日時 - 2011-03-21 19:14:36

補足

ご返答ありがとうございます。
ちなみになんですが、変数の適用範囲はどのような形になっているんでしょうか?

例えば、$haniという変数があった際に、この$haniはそのスクリプト内でずっと有効なんでしょうか?
それとも、<?php .....?>の範囲が適用範囲なのでしょうか?

変数の範囲についても、大変申し訳ないのですがお教え頂けますでしょうか?
誠にすみません。

投稿日時 - 2011-03-21 20:44:13

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-