我尝试使用post方法制作表单,并且我想检查字段是否填充了isset()。但即使字段为空,isset也会返回true。
这是一个简化的代码:(页面名称:test.php,post方法指向自身)
if (isset($_POST['test'])) {
echo 'field set';
}
?>
<form method="post" action="test.php">
<input type="text" name="test"/>
<input type="submit" value="Submit"/>
</form>
当你提交时,即使你没有在&#34; test&#34;中输入任何内容,它总是会回复“字段集”。输入
感谢您的回答!
答案 0 :(得分:6)
因此,请检查$_POST['test']
是否为空,请尝试使用
if (isset($_POST['test']) && trim($_POST['test']) != '') {
echo 'field set';
}
您也可以使用empty
,但Note that "0" is also "empty"
及其更好地使用trim
输入来删除空格。另一种方法是使用strlen
if (isset($_POST['test']) && trim(strlen($_POST['test'])) > 0) {
echo 'field set';
}
答案 1 :(得分:6)
在empty()
提交表单$_POST['test']
后,isset()
尝试使用empty()
检查空白原因,即使它是空白的。所以需要查看if (!empty($_POST['test'])) {
echo 'field set';
}
0
检查empty()
时,{{1}}为空/空白
答案 2 :(得分:1)
您可以使用此代码使用empty()
method.try执行此操作。
ex:echo !empty($_POST['test']) ? "field set" : ""
;
答案 3 :(得分:0)
它会回显你设置了字段,因为你正在检查的是test
是否存在数组键isset()
。只要您的表单中有一个名为test
的字段,它就会创建一个空键,从而导致它被设置。
您最喜欢的是查看密钥是否已设置,以及该密钥是否为空。
你可以这样做:
if( isset( $key['test'] ) && $key['test'] !== "" ){
//Do something
}