LoginSignup
10
13

More than 5 years have passed since last update.

「Notice:Undefined index」と「Notice:Undefined variable」の対処法

Posted at

PHPのコード入力をしていて、「Notice:Undefined index」または「Notice:Undefined variable」と表示させたことはありませんか?

今回は、この2つのエラーを解決する方法を、記述したいと思います。

「Notice:Undefined index」の処理方法

GET送信やPOST送信したときに登場することの多い、エラーの一つです。
エラーの原因は、初回アクセスと2回目以降のアクセスの処理を切り分けができていないことが考えられます。

エラーが出る場合は、主に次のような入力をしたときです。


<?php 
echo $_POST["sid"];
?>

この場合、対処法は、次のようにします。

<?php 
if (isset($_POST["sid"])) {
echo $_POST["sid"];
}
?>

このように、「$_POST[sid]に値が入っているときは」という条件を与えることで、初回アクセス時は、POSTを参照しないため、エラーはなくなります。

「Notice:Undefined variable」の処理方法

このエラーが発生する原因は、変数の定義を定めていないのに、echo表示させているからと考えられます。

例えば、次のような入力のときに、エラーが出ます。

<?php 
if (data("H") >= 12) {
 $word = "こんにちは";
}
echo $word;
?>

これは、「12時以降は『こんにちは』」と表示させたいのですが、12時前の分が設定されていないため、エラーが表示されます。

そのため、対処法は、次のように入力します。

<?php 
if (data("H") >= 12) {
 $word = "こんにちは";
} else {
 $word = "おはようございます";
}
echo $word;
?>

このように、「12時前は『おはようございます』」といった条件を追加すれば、エラーは解消されます。

10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13