LoginSignup
63
47

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-04-25

経緯

  • 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"]に値が入っている場合は」という条件を与えることで、初回にアクセスしたときにエラーがなくなります。

63
47
1

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
63
47