即使使用不同的浏览器会话,PHP会话也会混合

时间:2013-09-17 15:21:07

标签: php session

我这里有问题。我试图登录一个帐户。然后打开另一个chrome会话而不是另一个选项卡,上一个会话获取此会话值,所有内容都重置为当前帐户值。怎么避免这个问题?这是我在登录页面中的操作方式。我的服务器是Centos。

            $_SESSION['enterpriseID'] = $row1['enterpriseID'];
        $_SESSION['userID'] = $row1['userID'];
        $_SESSION['userName'] = $row1['userName'];
        $_SESSION['enterpriseName'] = $row1['enterpriseName'];
        $_SESSION['enterpriseID'] = $row1['enterpriseID'];
        $_SESSION['enterpriseLogo'] = $row1['enterpriseLogo'];
        $_SESSION['timeZoneOffset'] = $row1['timeZoneOffset'];
        $_SESSION['positionID'] = $row1['positionID'];

示例代码如下。

Update tblAST Set 
astStatus='m',".
employeeIDEnd=".$_SESSION['userID'].", ".
dateTimeEnd=now() ".
Where astID=".$astID;

1 个答案:

答案 0 :(得分:2)

chrome的工作方式是会话在整个程序中有效, 即使您打开一个新窗口,它仍然具有来自所有其他会话的信息。您可以通过使用GMail看到这一点,打开收件箱的每个窗口都会在您进入时加载,

如上所述,尝试使用隐私浏览或其他浏览器来测试多个会话。

正如我在下面的评论中所提到的,你需要为每个会话分配一个名称,然后创建一个多暗的数组来设置和检索信息。

$ _ SESSION ['myapp'] ['用户名']
$ _SESSION ['myapp'] ['id']