【これだけ】PHPでの未入力チェック【現役エンジニアが解説】
今回は、PHPでの未入力チェックについて、定義チェックと未入力チェックに分け、簡単に解説していきます。
定義チェックの方法
まず、未入力チェックを行う前に、きちんとデータが送信(定義)されているかを確認しましょう。
PHPでは、issetという定義チェックの関数が標準で用意されているため、これを使うと良いでしょう。
if (!isset($_POST['name'])) { echo "名前が未定義です。"; }
上記のコードでは、”name”という名前のデータがPOSTで送信されているかをチェックし、未定義の場合は”名前が未定義です。”という文字列を出力しています。
未入力チェックの方法
定義チェックが済めば、次は未入力チェックです。
PHPでは、未入力チェックの関数として、empty()という関数がありますが、この関数では”0″の値も空とみなされてしまうことから、strlen関数を使い、桁数で判断した方が良いでしょう。
if (strlen($_POST['name']) == 0) { echo "名前が未入力です。"; }
上記のコードでは、’name’という名前のPOSTで送信されているデータの値の桁数が0かどうかをチェックし、0桁の場合には未入力として”名前が未入力です。”という文字列を出力しています。
チェック関数の実装方法
定義や未入力のチェックを行う際は、項目数に応じて、チェック数が多くなっていきます。
そのため、チェック関数を一つ実装しておくと、これらのチェックを一箇所にまとめることができ、扱いやすくなります。
function checkInput() { if (!isset($_POST['name'])) { echo "名前が未定義です。"; return false; } if (strlen($_POST['name']) == 0) { echo "名前が未入力です。"; return false; } return true; }
チェック関数では、上記のコードのように、NGなケースをif文で列挙して、NGの場合にはfalseを返し、最後まで残りチェックが通ればtrueを返すというつくりにすることが一般的です。