我无法弄清楚为什么我的重定向不起作用? 我得到的只是一个空白页面,其中我尝试从中重定向的网址相同。 代码来自我的注册页面,但是我删除了一些代码,以便更容易查看我的重定向。除了重定向之外,其他所有工作都在起作用。
<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
//removed bunch of code for clear overview for stackoverflow question
// Prepare an insert statement
$sql = "INSERT INTO users (username, password) VALUES (?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password);
// Set parameters
$param_username = $username;
$param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Redirect to login page
header("location: login.php");
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
答案 0 :(得分:1)
我认为如果您要访问此页面,您的重定向可能会有效。 你得到一个空白页,因为你的代码以:
开头 if($_SERVER["REQUEST_METHOD"] == "POST"){
您声明已删除了一些代码。如果您希望运行的代码也在该代码块中且不是POST
(这可能是GET
),则该代码块中的代码将不会被执行。
您的示例中没有表单标记,但您也可以检查是否使用method="POST"
。