1

我有一些 $_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 只是跟踪用户是否在前一页上成功编辑/添加。

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

4

1 回答 1

2

关闭浏览器选项卡不会关闭会话

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

于 2012-05-24T13:33:17.853 回答