使用Cookies关闭浏览器时调用会话

时间:2018-03-23 11:15:07

标签: php session-cookies

登录时,我根据“记住我”复选框创建以下Cookie:

$_SESSION['username'] = $username;

//creates a cookie if Remember Me is checked
    if(isset($_POST['remember'])){

        $expire_time = time()+86400;
        setcookie("lion123_rmbr", $email, $expire_time);
        setcookie("lion123_rmbr_usrnm", $username, $expire_time);
                }

就在上面,我只在登录时创建了会话。

当然的想法是能够关闭浏览器,重新打开并能够访问成员区域而无需登录。在header.php我有以下回忆:

if (isset($_SESSION['username']) || isset($_COOKIE['lion123_rmbr']) || isset($_COOKIE['lion123_rmbr_usrnm'])) {
$userLoggedIn = $_SESSION['username'];
$user_details_query = mysqli_query($con, "SELECT * FROM users WHERE username='$userLoggedIn'");
$user = mysqli_fetch_array($user_details_query);
}
else{
    header("Location: register.php"); 
}

当我打开和关闭浏览器,然后导航到成员区域时,cookie允许我这样做;但是,由于在登录时没有设置$_SESSION['username'] = $username;,因此缺少用户特定数据。当然,一旦浏览器关闭就被终止。所以我收到username未定义的错误。

我认为为用户名添加第二个cookie可能是修复... nope :)任何有关如何激活用户会话的帮助都将受到赞赏 - 如果创建会话的唯一方法是通过登录,这怎么可能传递数据以激活$userLoggedIn

三江源。

0 个答案:

没有答案