当我使用下面的代码时,我收到错误500.如果我删除它运行的if
语句。为什么不使用if语句运行以查看用户是否输入了正确的详细信息。
$email = $_POST['email'];
$password = $_POST['password'];
$token = $_POST['token'];
$hashed = hash( 'sha512', $password);
$q = $db->query("SELECT * FROM users WHERE email='".$email."' AND password='".$hashed."'");
if (mysqli_num_rows($q) > 0) {
echo "success";
$_SESSION['auth'] = 1;
setcookie("username", $_POST['name'], time()+(84600*30));
}
echo "fail";
}
答案 0 :(得分:1)
您的错误很遗漏else
子句或未关闭的括号}
下面:
if (mysqli_num_rows($q) > 0) {
echo "success";
$_SESSION['auth'] = 1;
setcookie("username", $_POST['name'], time()+(84600*30));
} else { //<<<<<<<<<<<<<<< HERE
echo "fail";
}
或只删除最后一个}
另外,在开发过程中,请更改浏览器配置,以免显示友好错误消息。错误500显示,因为您的脚本已损坏并且它向浏览器发送错误并使用500代码解释它并显示此“友好消息”