无法将我的登录页面重定向到主页

时间:2019-06-27 08:19:59

标签: php html

我的登录页面遇到问题。即使输入正确的用户名和密码,它也不会重定向到我的主页(index.php)。

index.php:

<?php 
  if (!isset($_SESSION['login_username']))
   {
    $_SESSION['msg'] = "You must log in first";
    header('location: login.php');
  }

  if (isset($_GET['logout'])) 
  {
    session_destroy();
    unset($_SESSION['login_username']);
    header("location:login.php");
  }

?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="content">
    <?php if(isset($_SESSION['success'])): ?>
      <div class="error success"> 
        <h3>
          <?php 
            echo $_SESSION['success'];
            unset ($_SESSION['success']);
          ?>
        </h3>
      </div>
    <?php endif ?>

    <?php if (isset($_SESSION["login_username"])): ?>
  <p>Welcome <strong><?php echo $_SESSION['login_username']?></strong></p>
  <p><a href="index.php?logout='1'" style="color: red;">Logout</a></p>
<?php endif ?>
</body>
</html>

login.php:

<?php include('connect.php')?>

<!DOCTYPE html>
<html>
    <head>

    </head>

    <body>
        <div class="header">
            <h2>ADMIN LOGIN</h2>
        </div>

        <form method="post" action="login.php" name ="login">

            <div class="input-group">
                <label>UserName</label>
                    <input type="varchar" required="required" name="login_username">
            </div>

            <div class="input-group">
                <label>Password</label>
                    <input type="password" required="required" name="login_password" >
            </div>

            <div class="input-group">
                <button type="submit" class="btn" name="submit_login">login</button>
            </div>

        </form>
    </body>
</html>

connect.php:

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<?php


$username= "root";
$password = "";

$errors = array();

$db=mysqli_connect('localhost','root','','db1');


if (isset($_POST['submit_login'])) 
    {
      $login_username = mysqli_real_escape_string($db, $_POST['login_username']);
      $login_password = mysqli_real_escape_string($db, $_POST['login_password']);
  $sql = "SELECT * FROM login_details WHERE login_username='$login_username' AND login_password='$login_password'";

        $result = $db->query($sql);


        if ($result->num_rows == 1) 
        {
          $_SESSION['login_username'] = $login_username;
          $_SESSION['success'] = "You are now logged in";

          Header( 'Location: index.php' );
        }
        else 
        {
            echo "Wrong username/password combination";
        }
}
</body>
</html>

一切正常,例如使用错误的用户名/密码组合时,将显示msg,但使用正确的组合时则什么也没发生。

1 个答案:

答案 0 :(得分:1)

您正在index.php中检查$_SESSION["username"],但是,在connect.php中您正在设置$_SESSION['login_username']

$_SESSION['login_username']更改为$_SESSION['username']