$_POSTや$_GET(フォーム入力値やURLパラメータ)から値を受け取る処理でよく発生します。原因は、そのスクリプトへの初回アクセス時と2回目以降のアクセスで処理を切り分けていないことが考えられます。たとえば、「送信する」ボタンをクリックした後にフォーム入力値を受け取るスクリプトの場合、そのスクリプトに最初にアクセスしたときは$_POSTには何も入っていないので、このエラーメッセージが表示されます。

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

対処方法として、「$_POST["test"]に値が入っているときは…」という条件を設定する方法があります。

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

これにより、初回アクセス時は$_POSTを参照しないので、エラーメッセージは表示されなくなります。

このエラーメッセージはNoticeレベル(注意)なので、とりあえずの対処でエラーメッセージを非表示にする方法もあります。

【関連記事】「Notice: Undefined variable:」と表示されるとき

定番のエラーメッセージを予習したい方におすすめの本

「Notice: Undefined index」の他にも定番のエラーメッセージはいくつかあります。そんな定番エラーメッセージを予習しておきたい方にはこの本をおすすめします(私が書いた本ですが)。ゼロから書けば早く完成できるスクリプトでも「なぜエラーになるのか?」「どこが間違っているのか?」と聞かれると意外とすぐに答えられなかったりします。基礎力のチェックも兼ねて暇なときに読んでみてください。
「PHP「直す力」養成ドリル」について詳しくはこちら

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

PHP関数

WordPress

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク