PHP
エラー
初心者
初心者向け

Notice: Undefined indexエラーの原因と解決方法


経緯


  • phpでお問い合わせフォームを作成している時にぶつかったエラーです。

  • 調べていくうちに、$_POST$_GETで値を受け取るときによく発生するエラーみたいなので、その原因と解決方法を書きます。


この記事で分かること



  • Notice: Undefined indexエラーの原因と解決方法


Notice: Undefined indexとは


  • 未定義の配列の要素を使用した時に出るエラー


Notice: Undefined indexの原因


  • 初回アクセスと2回目以降のアクセスの処理を切り分けができていないから


コード例


  • お問い合わせフォームを作成する際に、送信ボタンをPOSTした時にその下に書かれている処理が実行される場合を想定します


エラーが表示される場合


index.php

if ($_POST["submit"]) {

//ここに処理が入ります

}



エラーの原因

この場合、index.phpに初回にアクセスした場合、$_POST['submit']が未定義の状態なので、Notice: Undefined indexというエラーが発生します。


解決方法

配列の要素が定義されているかどうかを確認することで解決することができます。


index.php

if (!empty($_POST["submit"])) {

//ここに処理が入ります

}



解説

このようにempty関数を使って「$_POST["submit"]に値が入っている場合は」という条件を与えることで、初回にアクセスしたときにエラーがなくなります。