PHP不会重定向

PHP不会重定向,php,mysql,Php,Mysql,因此,我无法找出我的PHP是什么问题导致了这个问题。正如您将从代码中看到的,我让它基于if语句进行了回显。如果细节与查询相同,那么它将回显Test2。但是为什么它不重定向呢?我想不出怎么了 <?php include "../inc/db.php"; include "../inc/functions.php"; $tip = ""; if(isset($_POST["submit"])) { $username = $_POST["username"]; $pass

因此,我无法找出我的PHP是什么问题导致了这个问题。正如您将从代码中看到的,我让它基于if语句进行了回显。如果细节与查询相同,那么它将回显Test2。但是为什么它不重定向呢?我想不出怎么了

<?php 
include "../inc/db.php";
include "../inc/functions.php";

$tip = "";

if(isset($_POST["submit"])) {
    $username = $_POST["username"];
    $password = $_POST["password"];

    $username = mysqli_real_escape_string($connection, $username);
    $password = mysqli_real_escape_string($connection, $password);

    $query = "SELECT * FROM users WHERE username = '{$username}' ";
    $select_user_query = mysqli_query($connection, $query);

    if(!$select_user_query) { 
        die("Query failed. Reason: " . mysqli_error($connection));
    }

    while($row = mysqli_fetch_array($select_user_query)) {
        $db_user_id = $row['id'];
        $db_username = $row['username'];
        $db_password = $row['password'];
    }

    if($username !== $db_username && $password !== $db_password ) {
        header("Location index.php");
        $tip = "Incorrect details!";
        echo "Test1";
    } elseif ($username == $db_username && $password == $db_password) {
        header("Location ");
        echo "Test2";
    } else {
        header("Location index.php");
        echo "Test3";
    }
}

?>

提交正确详细信息的结果:

并证明dashboard.php确实存在

如果我输入了mysql数据库中不存在的内容,则会得到以下结果:

但是我在while循环中定义了变量

header("Location dashboard.php");
分号不见了

header("Location: dashboard.php");

我很愚蠢…

尝试添加
exit()在重定向之后。另外,如果你无论如何都要离开页面,为什么要在重定向后回显某些内容?另外,对于第三个图像(第二个问题?),您的第一个if应该是or
|
,而不是and
&
,这是因为当没有结果时,没有可以迭代的行,因此$db_用户名和$db_密码不会被声明。您在
标题上的
位置
后缺少冒号。你应该对密码进行哈希运算。我正在使用echo解决我的问题。由于它与Test2相呼应,这意味着$username/$password与$db_username/$db_password相同。@chris85我简直不敢相信我会那么愚蠢,我花了20分钟的时间试图弄明白。谢谢不要忘记在while语句之外声明用户名和密码变量,以避免在mysql中没有与查询匹配的数据时出现声明错误。这并不能解释您包含的错误消息。那无关紧要吗?您可能可以删除该问题,因为它看起来更像是一个打字错误,而不是一个编程问题。