正如标题所说,我试图弄清楚如何在单击提交按钮后检查表单中是否有任何空条目。
if(isset($_POST['submit']) && ($selected == ''|| $text == '' || $email == ''))
{
// *do things*
}
else{
//*more things*
}
这是不正确的吗?
您将以与处理提交按钮相同的方式引用它们。
那是:$_POST['input_name']
从那里使用适当的函数检查它:isset()
,, empty()
(is_null()
尽管表单变量很少遇到null
)
我还鼓励您阅读PHP 外部变量。
您可以做的是遍历 $_POST 变量。排除那些你不感兴趣的,然后做一些类似的事情:
$allIsOk = true;
foreach ($_POST as $index => $value) {
if (strlen($value)<1) {
$allIsOk = false;
}
}
...然后您在 $allIsOk 上做出选择。
这种方法有两个原因:
当然,这只是想法。检查文档总是明智的。此外,您可以用 array_walk 调用替换 foreach 循环,以使事情变得更有趣(尤其是从 PHP 5.3 开始)。;-)
祝你好运!
PS 另外,要确定您的脚本是否已被 POST 操作调用,而不是考虑提交元素,我建议您使用 $_SERVER 全局变量。http://php.net/manual/en/reserved.variables.server.php只需检查“REQUEST_METHOD”参数。
所以,你可能有:
if ('POST' == $_SERVER['REQUEST_METHOD']) {
// It's ok for these to be null - or empty
$exclude = array('submit', 'other_param');
$allIsOk = true;
foreach ($_POST as $index => $value) {
if (!in_array($index, $exclude) && strlen($value)<1) {
$allIsOk = false;
}
}
}
if ($allIsOk) {
// Do Something
} else {
// Do Something Else
}