Web サーバーにリクエストを送信するときに使用できる主な HTTP メソッドは、GET、POST、DELETE、および PUT の 4 つです。これらのそれぞれを使用して、PHP がアクセスを許可するリクエストで変数を渡すことができます。GET
との場合、それぞれPOST
対応する配列$_GET
&で変数にアクセスできます$_POST
。
これまで HTTP メソッドを扱ったことがない場合は、それについて深く考える必要がないからです。これは、ブラウザに URL を入力して [go] をクリックすると、GET
デフォルトでメソッドが使用されるためです。
したがって、この場合、おそらく何が起こっているかというとPOST
、ページをロードするときにまったくリクエストを行っていないということです。たとえそうであったとしても、それにPOST
アクセスするには適切な変数を定義する必要があります。この例ではusername
.
上記のいずれかが当てはまらないため、変数の値は null です。また、PHP で null 値にアクセスしようとすると、スクリプトはエラーをスローします (ご覧のとおり)。これは変更できますが、お勧めしません。コードを書くときに null 変数を適切に処理していることを知りたいです。しかし、それは私だけかもしれません。
私が推奨し、他の人が提案した解決策は、isset()
関数を使用して変数が定義されているかどうかを確認することです。これにより、コードが壊れるのを防ぐことができます。詳細については、isset のドキュメントを参照してください。