0

HTML のフォームと PHP のコードがあります。フォームにはさまざま<input>なものが含まれています。また、すべてのフィールドが空でない場合にのみ、ブラウザにテキストを出力したいと考えています。

たとえば、 と という 2 つのフィールドの場合nameage次のようにします。

if($_POST['name'] and $_POST['age']) { ... }

しかし、ここには 2 つ以上のフィールドがあります。私は何をすべきか?

4

3 に答える 3

6

あなたはこのようなことを試すことができます

$allSet = true;
foreach($_POST as $key => $value){
    if(empty($value)){
        $allSet = false;
        break;
    }
}
于 2013-08-26T13:43:31.140 に答える
2

送信されたすべての入力が必要な場合は、これを試すこともできます。

if (count(array_filter($_POST)) != count($_POST)) {
    // at least one input is empty
}

array_filter()を参照してください

この関数はnull、 、false0または空の文字列の値を除いて、同じ配列を返します。したがって、フィルター処理された配列のエントリが元の配列よりも少ない場合、少なくとも 1 つの入力が入力されていないことを意味します。

編集:そしてそれはうまくいきます!

于 2013-08-26T13:47:15.530 に答える
1

シンプルな機能。必須フィールドを追加できますarray('name', 'age', 'phone')

function checkPost()
{
    if (!$_POST) return false;

    $fields = array('name', 'age');
    foreach ($fields as $field)
    {
        if(!$_POST[$field])
            return false;
    }
    return true;
}

if(checkPost()) { ... }
于 2013-08-26T13:45:17.037 に答える