$\页面开头的会话测试不可预测-PHP

$\页面开头的会话测试不可预测-PHP,php,html,session,Php,Html,Session,在我们站点的管理页面的开头,我们测试是否设置了$\u会话变量admin,如果未设置,则使用以下代码将用户重定向回主页: session_start(); if (!isset($_SESSION['admin'])) { echo "<script>window.location='domain';</script>"; //domain is redacted die(); } session_start(); 如果(!isset($\u会话['admin']))

在我们站点的管理页面的开头,我们测试是否设置了$\u会话变量admin,如果未设置,则使用以下代码将用户重定向回主页:

session_start();
if (!isset($_SESSION['admin']))
{
 echo "<script>window.location='domain';</script>"; //domain is redacted
die();
}
session_start();
如果(!isset($\u会话['admin']))
{
echo“window.location='domain';”;//域已编辑
模具();
}
管理员帐户发生重定向,尤其是在登录后。因此,我创建了一个文件,它回显了会话的var_转储并进行了调查,结果发现实际上设置了admin变量,因此不应该发生错误。有没有人知道是什么导致了这种偏差,特别是在登录和会话变量设置之后?注意:我已经在$\u会话设置页面上检查了是否有任何内容发送到HTML,正如我所说的,变量已经设置好了


编辑:这是代码的最开始部分

此问题似乎只在登录后发生。对于其他有类似问题的人,请确保使用
session_unset()
从以前的浏览会话中删除任何剩余信息。感谢所有其他人的帮助。

是否存在会话被破坏的注销页面?是的,有,但只有在有人单击其页面上的注销时才能访问该页面。我只是在另一个测试中再次尝试了它,这次效果很好——不一致性让我很烦恼,因为我不能总是重现这个问题@欢迎来到StackOverflow。请阅读上的帮助主题。为了帮助您,我们需要能够重现该问题。您好@ViníciusFagundes,谢谢您的链接。不幸的是,我甚至不能均匀地重现这个问题,所以我假设其他人一定遇到过这样一个特殊的问题,并且可能有一个解决方案。当我询问其他问题时,我一定会记住这些指导原则。会话变量会在一段时间后超时。但是如果
var\u dump($\u SESSION)
显示变量,那么
isset()
应该可以工作。