【これだけ】PHPでの未入力チェック【現役エンジニアが解説】

PROGRAM

今回は、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を返すというつくりにすることが一般的です。