質問: ### 前提・実現したいこと Notice: Undefined index エラーを無くしたいです。 よくわかるPHPの教科書のchapter3-17のところがよくわかりません。 htmlファイルとphpファイルは同じフォルダ内にあります。 ### 発生している問題・エラーメッセージ ``` Notice: Undefined index: my_name in /Applications/XAMPP/xamppfiles/htdocs/test.php on line 93 ``` ### 該当のソースコード ``` お名前: ``` ``` よくわかるPHPの教科書 よくわかるPHPの教科書 Practice ```
回答: 回答が更新されるか分からないので別途残しておきます。 Undefined index はそこまで珍しくはないエラーです。 「打ち間違いだった」だけで済ませてしまうと今後も同じ状況に陥ってまた同様の質問を繰り返すことになって中々進まないのでしっかり理解するようにしましょう。 `Undefined index`だけで検索してもわんさか出てきます。 Google検索でもいいし、質問者向けの回答を得たいならteratailの検索機能を使うと良いでしょう。 下記のような記事は読んでおいて今後の対策に役立ててください。 * エラーメッセージの読み方と対処, 検索や質問の原則 一応、ここでも書いておきますが、 配列の変数を何かしらで参照するときに、存在しないキーを指定した場合に起きます。 現象が再現する簡単なコード ``` > 返り値 > > 成功した場合は要求された変数の値、フィルタリングに失敗した場合に FALSE、 あるいは変数 variable_name が設定されていない場合に NULL を返します。フラグ FILTER_NULL_ON_FAILURE が指定されている場合は、変数が設定されていなければ FALSE、 フィルタリングに失敗したら NULL を返します。 > > > フィルタ掛けてないのでしたら実行結果がnullかどうかできちんと送信されたかどうかをチェックすることができます。 あとは提示したPHPマニュアルを読んでいろいろ試してください。 ※なお、余程きちんとPHP7のことを取り上げている書籍でない限りNull 合体演算子は出てきませんし、filter_input()で入力値を取得している書籍もあまり見ないです。 PHPマニュアルにて最新の情報を確認したり、Qiitaにあがっている評価の高い記事を読んだりしてより安全なプログラムを組むように心がけてみてください。 書籍だけの勉強法というのはプログラムにはあまり向かないやり方です。(執筆時点では最新でも出版時点では既に古くなっていたりベターなやり方は出ているものなので)