$_POSTの受け取り方

日清から販売されている「ハヤシメシ」をこの前初めて食べました。最初「カップラーメンの麺が米っぽい物体に変わっただけじゃないかこの野郎…」と思いましたが意外と美味しかったです(小並感)

フォームを作ればよくつかうであろうPHPの基本$_POSTですが、$hoge = $_POST['hoge'};という一番単純な使い方はあまりよろしくないことを最近知りました。

何がいけないのか

$_POSTで送信された情報を確認するとき、当然その値は存在しない可能性があります。その値を参照した際Notice: Undefined indexが発生することになっちゃうわけですね。

まぁ設定次第で警告は消すことができますしめんどくさいかもしれませんが、クリーンなコードを心掛けましょう。

解決方法

一番明快なの

isset()でチェック。if文にする必要があるので項目が少ないならいいけど増えてくると…。

オススメ

filter_input…ざっくりいうと存在を確認してあったらそのまま返す、なかったらnullを返してくれる。

使い方は$hoge = filter_input(INPUT_POST, 'hoge');って感じです。