我正在制作一个完整的登录系统。注册部分工作正常,但是如果我尝试登录,则只会出现白屏。没有错误,没有重定向,...由于我的URL更改为'login.php',因此php代码确实执行。我尝试了多种登录方法,但是那也不起作用。
谢谢!
<?php
session_start();
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
header("location: index_afterlogin.html");
exit;
}
require_once "config.php";
$email = $password = "";
$email_err = $password_err = "";
if($_SERVER["REQUEST_METHOD"] == "POST"){
if(empty(trim($_POST["email"]))){
$email_err = "Please enter e-mail.";
} else{
$email = trim($_POST["email"]);
}
if(empty(trim($_POST["password"]))){
$password_err = "Please enter your password.";
} else{
$password = trim($_POST["password"]);
}
if(empty($email_err) && empty($password_err)){
$sql = "SELECT userID, email, password FROM users WHERE email = ?";
if($stmt = mysqli_prepare($db, $sql)){
mysqli_stmt_bind_param($stmt, "s", $param_email);
$param_email = $email;
if(mysqli_stmt_execute($stmt)){
mysqli_stmt_store_result($stmt);
if(mysqli_stmt_num_rows($stmt) == 1){
mysqli_stmt_bind_result($stmt, $id, $email, $hashed_password);
if(mysqli_stmt_fetch($stmt)){
if(password_verify($password, $hashed_password)){
session_start();
// Store data in session variables
$_SESSION["loggedin"] = true;
$_SESSION["userID"] = $id;
$_SESSION["email"] = $email;
header("location: index_afterlogin.html");
} else{
$password_err = "The password you entered was not valid.";
}
}
} else{
$email_err = "No account found with that username.";
}
} else{
echo "Oops! Something went wrong. Please try again later.";
}
}
mysqli_stmt_close($stmt);
}
mysqli_close($db);
}
?>