HTML のフォームと PHP のコードがあります。フォームにはさまざま<input>
なものが含まれています。また、すべてのフィールドが空でない場合にのみ、ブラウザにテキストを出力したいと考えています。
たとえば、 と という 2 つのフィールドの場合name
、age
次のようにします。
if($_POST['name'] and $_POST['age']) { ... }
しかし、ここには 2 つ以上のフィールドがあります。私は何をすべきか?
あなたはこのようなことを試すことができます
$allSet = true;
foreach($_POST as $key => $value){
if(empty($value)){
$allSet = false;
break;
}
}
送信されたすべての入力が必要な場合は、これを試すこともできます。
if (count(array_filter($_POST)) != count($_POST)) {
// at least one input is empty
}
array_filter()を参照してください
この関数はnull
、 、false
、0
または空の文字列の値を除いて、同じ配列を返します。したがって、フィルター処理された配列のエントリが元の配列よりも少ない場合、少なくとも 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()) { ... }