Php 用户登录脚本使用mysqli prepared语句运行正常,但不会重定向
这是我使用预先准备好的语句的用户登录表单。 当我尝试运行表单时,它只是重新加载并显示自己。Php 用户登录脚本使用mysqli prepared语句运行正常,但不会重定向,php,mysqli,Php,Mysqli,这是我使用预先准备好的语句的用户登录表单。 当我尝试运行表单时,它只是重新加载并显示自己。 我猜这是一个逻辑错误,但我似乎无法找出我做错了什么。请提供帮助?永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码;重定向后。错误日志中是否有错误?为什么要重新分配用户名和密码两次?是否检查了$rowCount? if (isset($_POST[
我猜这是一个逻辑错误,但我似乎无法找出我做错了什么。请提供帮助?永远不要存储纯文本密码!请使用PHP来处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用密码\u散列。在散列之前,不需要对它们执行任何操作或使用任何其他清理机制。这样做会更改密码并导致不必要的额外编码;重定向后。错误日志中是否有错误?为什么要重新分配用户名和密码两次?是否检查了$rowCount?
if (isset($_POST['submit'])) {
# code...
$umail = $_POST['userMail'];
$upassword = $_POST['userPassword'];
$query = "SELECT * FROM users WHERE EMAIL = ? AND PASSWORD = ? ";
//prepare the statement
$stmt = $db->prepare($query);
//bind the parameters
$stmt->bind_param("ss",$userMail, $userPassword);
$userMail = $umail;
$userPassword = $upassword;
//execute the query
$stmt->execute();
//get the query result
$result = $stmt->get_result();
$rowCount = $result->num_rows;
if ($rowCount > 0) {
# code...
$_SESSION['id'] = $row['id'];
$_SESSION['email'] = $row['email'];
header("Location: successful.php");
}else{
$errorMsg = '<div class="alert alert-danger" role="alert">
<strong>Unsuccessful Login.</strong>Please check your credentials and try again.
</div>';
}
$stmt->close();
$db->close();
}