こんにちは、上村です。
先日、新人さんにこんな質問をされました。
 

結論から言いますと、「便利な機能は使って、防げるミスは事前に防ぎましょう」という話です。

質問内容

PHPでフォームからデータを送信したいです。
inputタグにname属性で名前を定義しているのに、”Notice: Undefined index”というエラーが出て困っています。
(※実際はもう少し複雑な入力フォームでしたが、論点ではないため簡略化しています)
 

●input.php

 

●output.php

 

●ブラウザの実行画面(入力)

 

●ブラウザの実行画面(出力)

原因・解決方法

特に間違った記述がなさそうで、ちょっと焦る私...\(゜ロ\)あれ?(/ロ゜)/あれ?
 

別のエディタで再度ソースコード(input.php)を表示してみると、type属性とname属性の間に何かいる、、、
属性の区切りに「半角スペース」ではなく、「全角スペース」が使われていました。
 

新人さんのエディタは、全角スペースを可視化する機能がオフになっていたため、気づけなかったようです。
 

●input.php(修正前)

 

●input.php(修正後)

 

●ブラウザの実行画面(出力)

 

思ったこと

このエラーに出会っていなかったら、全角スペースに気を付けないといけないことも、
全角スペースをハイライトしてくれる便利な機能があることも知らなくて、
他にも便利な機能があるかもしれないと調べてみようと思うきっかけもないままで。
 

早いうちに失敗することで、それ以上の収穫を得ることもあるんだなと思いました。
 

私自身にも言えることですが、新しい言語を勉強しているときは、試して、試して、試して、
ひたすら試して、一つずつ覚えていくしかないですね。
頑張りましょう。