[PHP]表单验证的字段为空和字段不存在的情况

时间:2022-12-30 23:20:58

关于$_POST表单的机制:诸如普通input一类的字段,如果你不填写并且也没用默认值,php的相应$_POST字段值会是'',注意它是空字符串,或者叫空字节'\0',而不是php的NULL常数,所以isset($_POST['此字段'])值为真。诸如checkbox一类的字段,如果你不填写则$_POST中根本不会有此字段,则isset($_POST['此字段'])值为假。

测试代码:

<html>
<head></head>
<body>
<form name="form1" method="post" action="">
<input type="text" name="name"></input>
<input type="checkbox" name="fond[]" value="1">Music  <input type="checkbox" name="fond[]" value="2">Artist
<input type="submit" name="submit"></input>
</form>
</body>
</html>

<?php

var_dump($_POST);

echo 'Normal test,1 for isset:',isset($_POST['name']),'<br>';
echo 'Checkbox test,1 for isset:',isset($_POST['fond']);

运行结果:


不填写普通input字段也不选择checkbox任何一项的情况

[PHP]表单验证的字段为空和字段不存在的情况

填写普通input字段并且选择至少一项checkbox的情况

[PHP]表单验证的字段为空和字段不存在的情况