登录 PHP 会话无效

Login PHP Session not working

我有一个登录表单,用于检查输入的密码和用户名,如果正确,它会给出一条消息并使登录会话为真。但是会话不起作用。当它将您重定向到仪表板时,您将无法访问它,会话登录的值是未知的。因此,当您输入正确的 userpass 时,会话不会在那一刻创建,但是当您将其重定向到另一个页面时,您的会话就消失了。

<?PHP
 session_start();
   // Starting session
  
include 'config.php';
$pass = $_POST['pass'];
$user = $_POST['user'];
if (isset($_POST['user']) and isset($_POST['pass'])){




// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$result = $link->query("SELECT user FROM users2 WHERE user = '$user'");
if($result->num_rows == 0) {
  
    echo '<script type="text/javascript">
     $(document).ready(function(){

         demo.initChartist();

         $.notify({
             icon: "pe-7s-bell",
             message: "Username of password was wrong. Please try again."

            },{
                type: "info",
                timer: 4000
            });

     });
 </script>';
  
} elseif ($result->num_rows == 1){
    $userpass = $link->query("SELECT pass FROM users2 WHERE user = '$user'");
$row = $userpass->fetch_assoc();
   $userpasss = $row["pass"];
    if ($pass == $userpasss){
       


 echo '<script type="text/javascript">
     $(document).ready(function(){

         demo.initChartist();

         $.notify({
             icon: "pe-7s-bell",
             message: "You are logged in successfully! Redirecting ..."

            },{
                type: "info",
                timer: 4000
            });

     });
 </script>';
 
 $_SESSION['login'] = "true";
$_SESSION['username'] = "$user";
 echo "<meta http-equiv='refresh' content=3;URL='dashboard.php' />    ";
 echo $_SESSION["login"];
 echo $_SESSION["username"];

// Storing session data

    } else {
         echo '<script type="text/javascript">
     $(document).ready(function(){

         demo.initChartist();

         $.notify({
             icon: "pe-7s-bell",
             message: "Username of password was wrong. Please try again."

            },{
                type: "info",
                timer: 4000
            });

     });
 </script>';
    }
}
} 
echo $_SESSION["login"];
?>

代码哪里有问题?

谢谢

热烈的问候

放session_start();在此页面的顶部,因为您正在全局范围内访问,因此您将获得会话值。

  • 我会建议您创建不同的文件以进行身份​​验证。

您需要写出首页的所有页面session_start()

登录成功后重定向到dashboard.php需要添加第一行

<?php session_start(); echo $_SESSION['login]; ?>