首页 > 解决方案 > 返回页面时无法识别 Cookie

问题描述

我有一个使用 cookie 构建的登录系统。当我第一次登录时,cookie 会生成并显示在设置中的 Chrome Cookies 中(这就是我知道它已经真正创建的方式)。当我被转移到仪表板时,我可以看到我登录时使用的用户名,到目前为止还不错。如果我关闭浏览器并直接进入仪表板,就会出现问题。在我再次手动登录之前,它将用户名显示为未定义的索引。

这是cookie的创建:

$_SESSION['userid'] = $row['userID'];
$_SESSION['username'] = $row['username'];
$cookie_value = $_SESSION['username'] ;
setcookie('guysite', $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day                    
$_SESSION['userpwd'] = $row['password'];
$_SESSION['uname'] = $row['firstname'];

header("Location: dashboard.php");

这是仪表板检查:

<?php
    session_start();
    if(!isset($_COOKIE['guysite'])) 
    {
        echo '<script>document.location.href="logout.php";</script>';
    }
    else 
    {
        echo '<span class="loginstat">שלום: ' . $_SESSION['username'] . '</span></li><li><a href="logout.php" class="nohover">( <i class="fas fa-sign-out-alt"></i>  התנתק )</a>';
    }
?>

标签: phpauthenticationsessioncookies

解决方案


推荐阅读