我想在提交表单时验证表单字段,我使用isset()
检查字段是否有值。我面临的问题是,如果字段的值不是!!!!!
这是HTML代码
<form action="handler.php" method="post">
<label>userName: </label><input type="text" name="fname" /><br/>
</form>
这里是php代码
<?php error_reporting(E_ALL);
if(validateForm()){?>
Welcome <?php echo $_POST["fname"]; ?>.<br />
}
function validateForm(){
$empty=false;
$empty=isset($_POST['fname'])?'true':'false';
echo 'empty>>>>'.$empty;
return $empty;
}
?>
答案 0 :(得分:3)
您要使用的是empty
:
function validateForm(){
return !empty($_POST['fname']);
}
修改已删除isset()
,因为没有必要。感谢@Julian。
答案 1 :(得分:2)
当您输入输入表单并且输入文本字段为空时,它不是NULL
。 isset
检查NULL
是否为NULL
。如果不是NULL
则返回true,如果empty()
则返回false。
我会使用{{1}}检查它是否为空。它检查传递给它的变量是否为空。如果为空则返回true,如果非空则返回false。
答案 2 :(得分:1)
使用
isset($_POST['fname']) && !empty($_POST['fname'])
如果不确定$_POST
内是什么,只需打印
var_dump($_POST)
答案 3 :(得分:1)
即使该字段没有值,也会设置值“”(长度为0的字符串)。如果要检查是否存在可用的值,请使用empty()
或检查字符串的长度。