如果条件满足但在 PHP 代码中被忽略
If condition is meet but is ignored in PHP code
我有以下代码来验证是否输入了用户名:
if (!isset($_POST['username']) ) {
header("location: index.php");
$error_message = "Please enter your Username and Password!";
exit();
}
如果我不在用户名字段中输入任何值,则条件为 false 并会执行 if
语句中的代码,当我输入用户名时出现类似情况!
知道为什么会这样吗?
如果您有一个带有 <input name="username">
的表单,那么此输入将 始终 具有某种价值。如果您不输入任何内容,该值仍为空字符串。当然,空字符串会发布到服务器。
另一方面PHPisset检查
"if a variable is declared and is different than null"
当然,即使是空字符串也是 true
(即 username
存在,它与 null
不同)。如果您想捕获所有 username
根本不存在或空字符串的情况,您可以执行以下操作
if (!isset($_POST['username']) || trim($_POST['username']) === '' )
或者您可以使用
if (strlen($_POST['username']) == 0)
我有以下代码来验证是否输入了用户名:
if (!isset($_POST['username']) ) {
header("location: index.php");
$error_message = "Please enter your Username and Password!";
exit();
}
如果我不在用户名字段中输入任何值,则条件为 false 并会执行 if
语句中的代码,当我输入用户名时出现类似情况!
知道为什么会这样吗?
如果您有一个带有 <input name="username">
的表单,那么此输入将 始终 具有某种价值。如果您不输入任何内容,该值仍为空字符串。当然,空字符串会发布到服务器。
另一方面PHPisset检查
"if a variable is declared and is different than null"
当然,即使是空字符串也是 true
(即 username
存在,它与 null
不同)。如果您想捕获所有 username
根本不存在或空字符串的情况,您可以执行以下操作
if (!isset($_POST['username']) || trim($_POST['username']) === '' )
或者您可以使用
if (strlen($_POST['username']) == 0)