提交表单后,我总是检查表单是否正确isset,然后检查是否所有字段都是isset
这是我的php代码:
if(isset($_POST)) {
if(isset($_POST['username'], $_POST['password'])) {
// process
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我的第一次检查isset是表单本身是否已提交,然后再次检查每个表单input是否isset或如果我使用的时刻
if(isset($_POST)) { }
它会实际检查该表单中的字段吗?
我希望你事先得到我的意见.
好吧,$_POST总是设置,所以不需要第一个语句.只检查是否设置了特定字段.
编辑:如评论中所述,isset()如果设置了某个变量,则仅提供信息,而不是它是否具有某些值.empty()可以告诉你,如果你有东西.
编辑2:为了确定是否empty()会在未定义的POST字段上注意到您,请尝试以下操作:
error_reporting(E_ALL);
var_dump(empty($_POST['undefined']));
Run Code Online (Sandbox Code Playgroud)
您将看到它也empty()适用于未定义的索引.