PHP 登录未被重定向


php login not being redirected

我希望有人能帮助我。我正在尝试在用户成功登录后将用户重定向回索引页面。我只能看到一个白色的空白屏幕,没有错误。

感谢您的帮助

<?php 
include('includes/functions.php');
session_start();
if(isset($_POST['login'])) {
    if(isset($_POST['username'])) {
        if(isset($_POST['password'])) {
            $username = $_POST['username'];
            $query = mysqli_query($link,"SELECT * FROM users_cust WHERE username = $username") or die(mysql_error());
            $user = mysql_fetch_array($query);
            if(md5($_POST['password']) == $user['password']) {
                echo("Login Successful!");
                $_SESSION['user'] = $user['username'];
                header("Location:/index.php") or die(mysql_error());
        } else {
            echo("Please check your login details");
            include('login.php');
        }
        } else {
            echo("Please check your password");
            include('login.php');
        }
    } else {
        echo("Please check your username");
        include('login.php');
    }
} else {
    echo("Please check that you filled out the login form");
    include('login.php');
}
?>

和我的主登录页面像这样

<?php
session_start();
if(isset($_SESSION['user'])){
header("Location:index.php");
} else {?>
<html>
<head>
    <title> Login Area
    </title>
</head>
<body>
<form action="dologin.php" method="post">
<label for="username">Username:</label>
<input type="text" name="username">
<label for="password">Password:</label>
<input type="password" name="password">
<input type="submit" name="login" value="submit">
</form>
</body>
</html>
<?php } ?>

您没有名为"user"的会话,因此此会话将不断返回任何值,我相信它需要更新到此。

if(isset($_SESSION['username'])){

编辑:

或者,您可以创建一个名为"LoggedIN"的新会话,在第一页的代码中添加这段代码。

$_SESSION['LoggedIN'] = true;

这将低于您之前的会话

然后在第二页上,您可以简单地输入:

if (isset($_SESSION['LoggedIN']) && $_SESSION['LoggedIN'] == true) {
    header("Location:index.php");
}

在你的第一页上,你有$_SESSION['用户名'],而在另一页上是$_SESSION['user']。

决定使用其中之一,它应该可以工作。

只需尝试标头("位置:索引.php"(;

而不是 header("Location:/index.php"( 或 die(mysql_error(((; 退出((;

在第二页上检查 $_SESSION["用户名"] 而不是 $_SESSION["用户"]

我在您的第一页中没有看到$_SESSION['user'],我认为您需要将其更改为$_SESSION['username'],这应该很好!

作为旁注,我一直认为使用 javascript 进行验证是最好的!

$query = mysqli_query($link,"SELECT * FROM users_cust WHERE username = $username") or die(mysql_error());

查询部分是否应如下所示:

...WHERE username = '$username'"