Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
40
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
40
Help us understand the problem. What are the problem?