打开新的href链接时会话重置

时间:2015-05-13 16:17:04

标签: php session session-variables

我已启动并运行服务器。当我点击href链接并在同一个域中打开一个新页面时,会话似乎会重置。

page1.php @ https://www.example.com/Modules/Page/page1.php

session_start();

include '../../includes/header.php';
$_SESSION['admintype'] = "Super Admin";
echo '<a href="'.HOME_URL.'/Modules/Order/orderDetails.php?ID='.$row['ID'].'">'."Click ME".'</a>';

在header.php中,它再次调用了session_start()。

这里是orderDetails.php

session_start();
include '../../includes/header.php';
echo $_SESSION['admintype'];

我通过检查会话ID来进行调试,但是我有两个不同的会话ID,当然我设置的会话变量已经消失了。

  • 我检查了服务器中的会话文件,我不认为这就是原因。
  • HOME_URL https://www.example.com指向同一个域。

我不知道为什么它会启动新会话而不是恢复旧会话。我查找其他人发布的问题,因为他们都没有帮助。

提前致谢。

*更新:我想我发现了这背后的原因。实际上为每个用户建立了两个会话。

我最近使用更新的版本修补了服务器,我怀疑之前版本的会话仍然存在并导致问题。

我还有另一个测试服务器,它与生产服务器共享确切的代码。该链接在测试服务器上工作得很好,测试服务器只有一个会话而不是两个会话。

*更新2 :问题是由于&#34; mysite.com&#34;实际上有两个会话和&#34; www.mysite.com&#34;。我猜在重定向发生时,cookie会话之间存在一些冲突。它发出不再有效的cookie会话,以及会话变量未被设置的原因。

0 个答案:

没有答案