PHP 用户会话不会在选项卡之间持续

问题描述

我遇到了一个我以前从未见过的问题。我将登录用户会话信息存储在 $_SESSION['user'] 变量中(就像我在所有其他站点上所做的一样。)但是当我在另一个选项卡中打开站点时,在同一个 Chrome 浏览器窗口中,会话不会持续在那个选项卡中。我在一个选项卡中注销,然后在另一个选项卡中登录。这让我感到困惑,因为我确信用户会话是浏览器级别的,而不是选项卡级别的。这是正常的 Chrome 全新安装,没有扩展。

我可以在登录选项卡上导航就好了,硬刷新并清除缓存,所有这些好东西,仍然保持登录状态。但在它旁边的选项卡中,我可以刷新多次正如我想要的那样导航到各种页面,但仍然保持注销状态。我可以在两个选项卡之间跳转并同时导航它们 - 问题仍然存在。

我在每一页的开头都有 session_start()。我什至在网站的页脚中回显用户会话,果然,它完全填充在一个选项卡中,而在另一个选项卡中完全没有。

编辑:为了确认,我在我的域上创建了一个简单的 test.PHP,其中包含以下代码<?PHP session_start(); echo $_SESSION['user']['uid']; ?>。我完全退出了我的会话。我在两个单独的选项卡中打开了我的网站。我登录一个选项卡。然后我在两个选项卡中将 /test.PHP 添加到我的 URL 中。在第一个选项卡中,我得到了一个空白页。在第二个中,我得到了 1(我的用户 ID)。即使经过多次硬刷新,空白选项卡仍保持空白,即使经过多次硬刷新,“1”页面仍保持“1”。我怎样才能防止这种行为?用户很可能希望使用多个选项卡进行导航,而这种行为会阻止这种情况发生。

有人能想到发生这种情况的任何原因吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)