浏览器关闭时会话未到期

时间:2012-05-24 13:20:17

标签: php session browser global

我有一些$ _SESSION变量可以跟踪用户来自哪个页面。这样,我可以使错误消息更具体,因此Web应用程序更加用户友好。当用户不来自任何页面时,主页顶部应该有“欢迎”消息。但是,当我关闭浏览器并访问主页面时,我会在关闭会话之前收到与我链接的页面相对应的消息。这是我的功能:

function come_from($from_page, $updates_occurred) { 
    $message = "";
    if ($updates_occurred == false) {
        $message .= "Welcome to the User List.<br/>";
        $message .= "Select the user you wish to update, or add a new user. ";
    } elseif ($from_page == "edit_user.php") {
        $message .= "The user was successfully updated";
    } else { 
        $message .= "The user was successfully added";
    }
return $message; 
}

在主页面的顶部,我有以下代码:

if (isset($_SESSION['updates_occurred'])) {
    $updates_occurred = $_SESSION['updates_occurred'];
} else {
    $updates_occurred = false;
}

if (isset($_SESSION['come_from'])) {
    $come_from = $_SESSION['come_from'];
} else {
    $come_from = NULL;
    echo "got here";
}


echo come_from($come_from, $updates_occurred); 

* updates_occurred只是跟踪用户是否在上一页成功编辑/添加。

我想我主要担心的是:我使用会话变量的方式有问题吗?如果我的理解是正确的,会话变量应该在浏览器关闭时到期,对吧?

1 个答案:

答案 0 :(得分:2)

关闭浏览器标签页不会关闭会话

您应关闭整个浏览器以关闭会话