0

我有一个 HTML 表单和一个 PHP 代码。表格包含很多不同的<input>东西。而且我希望只有在所有字段都不为空的情况下才能在浏览器中输出一些文本。

例如,对于两个名为nameand的字段age,我将执行以下操作:

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

但在这里我有两个以上的领域。我该怎么办?

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

编辑:的工作原理

于 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 回答