我已启动并运行服务器。当我点击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,当然我设置的会话变量已经消失了。
我不知道为什么它会启动新会话而不是恢复旧会话。我查找其他人发布的问题,因为他们都没有帮助。
提前致谢。
*更新:我想我发现了这背后的原因。实际上为每个用户建立了两个会话。
我最近使用更新的版本修补了服务器,我怀疑之前版本的会话仍然存在并导致问题。
我还有另一个测试服务器,它与生产服务器共享确切的代码。该链接在测试服务器上工作得很好,测试服务器只有一个会话而不是两个会话。
*更新2 :问题是由于&#34; mysite.com&#34;实际上有两个会话和&#34; www.mysite.com&#34;。我猜在重定向发生时,cookie会话之间存在一些冲突。它发出不再有效的cookie会话,以及会话变量未被设置的原因。