我有一个HTML格式和PHP代码。表单包含许多不同的<input>
内容。我希望只有当所有字段都不为空时才能在浏览器中输出一些文字。
例如,对于名为name
和age
的两个字段,我会执行以下操作:
if($_POST['name'] and $_POST['age']) { ... }
但在这里,我有两个以上的领域。我该怎么办?
答案 0 :(得分:6)
你可以试试这样的事情
$allSet = true;
foreach($_POST as $key => $value){
if(empty($value)){
$allSet = false;
break;
}
}
答案 1 :(得分:2)
如果需要发送所有输入,您也可以尝试此操作:
if (count(array_filter($_POST)) != count($_POST)) {
// at least one input is empty
}
此函数返回相同的数组,但不包含null
,false
,0
或空字符串的值。因此,如果过滤后的数组中的条目少于原始条目,则表示至少有一个输入尚未填充。
修改并 works !
答案 2 :(得分: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()) { ... }