注册后重定向不起作用

时间:2018-02-25 10:25:31

标签: php

我无法弄清楚为什么我的重定向不起作用? 我得到的只是一个空白页面,其中我尝试从中重定向的网址相同。 代码来自我的注册页面,但是我删除了一些代码,以便更容易查看我的重定向。除了重定向之外,其他所有工作都在起作用。

  <?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);

}

?>

1 个答案:

答案 0 :(得分:1)

我认为如果您要访问此页面,您的重定向可能会有效。 你得到一个空白页,因为你的代码以:

开头

if($_SERVER["REQUEST_METHOD"] == "POST"){

您声明已删除了一些代码。如果您希望运行的代码也在该代码块中且不是POST(这可能是GET),则该代码块中的代码将不会被执行。

您的示例中没有表单标记,但您也可以检查是否使用method="POST"