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時前は『おはようございます』」といった条件を追加すれば、エラーは解消されます。