PHP empty()无法按预期工作

时间:2011-11-16 02:34:43

标签: php forms post input

if(empty($_POST['name'])){
header("location:users_adduser.php?fail=1"); //no name specified
}

如果我回显$ _POST ['name']我可以看到它实际上是空的。什么给出了什么?我该如何检查空输入字段?

2 个答案:

答案 0 :(得分:3)

尝试

if (!isset($_POST['name'])){
header("location:users_adduser.php?fail=1"); //no name specified
}

http://php.net/manual/en/function.isset.php

答案 1 :(得分:1)

根据documentation,应该考虑空字符串......好吧,空。我尝试在$ _POST上使用var_dump()并查看返回的内容,也许它毕竟不是空的。

var_dump($_POST);

出于测试目的,暂时注释掉header()调用,并且可能只发出一个print语句以确保它实际上是在评估为true。它可能是标题重定向问题,而不是empty()的问题。

if(empty($_POST['name'])){
  // header("location:users_adduser.php?fail=1"); //no name specified
  print("POST['name'] IS empty!");
}