【发布时间】:2013-09-12 00:24:29
【问题描述】:
我有一个用户定义的函数,它需要一个参数作为表单必填字段的数组。它检查这些字段是否为空。如果它们为空,它将返回一条消息并停止处理表单。
<?php
function check_required_fields($required_array) {
foreach($required_array as $fieldname) {
if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) && $_POST[$fieldname] != 0)) {
}
}
return "You have errors";
}
$required_array = array('name', 'age');
if (isset($_POST['submit'])) {
echo check_required_fields($required_array);
}
?>
<html>
<body>
<form action="#" method="post">
Name: <input type="text" name="name"><br>
Age: <input type="text" name="age"><br>
<input type="submit" name="submit">
</form>
</body>
</html>
即使填写了表单必填字段,该函数仍返回此错误?如何解决这个问题? 我怎样才能使用只使用该功能而不在其名称前写单词 echo?
我想使用这个功能,所以我不必为表单中的每个字段手动编写 if 和 else 语句。
【问题讨论】:
-
返回需要在 if 子句中
-
你可以直接使用
if(empty($fieldname)) return false;,其他控件没用,我直接把$_POST传给函数check_required_fields($_POST) -
我想显示空字段的自定义错误。