在我的login.php中启动一个新会话后,我重新连接到home.php并成功加载会话变量。但是当我尝试从home.php打开menu.php并使用会话变量时,这些相同的变量现在是未定义的。我在两次页面更改后都回显了会话ID,并且完全相同。所以有人可以告诉我为什么我会丢失这些变量?
的login.php:
session_start();
$_SESSION["user"]=$puser;
$_SESSION["loggedin"]=true;
echo "<script>window.open('../home.php','_self')</script>";
&GT;
home.php
require("php/objects.php");
session_start();
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"]==true)
{
$user=$_SESSION["user"];
$_SESSION["loggedin"]=true;
echo session_id();
echo $_SESSION["loggedin"];
}
else
{
echo "Login Error";
echo "<script>window.open('default.html','_self')</script>";
exit();
}``
&GT;
menu.php
require("objects.php");
session_start();
echo session_id();
echo $_SESSION["loggedin"];
/*if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"]==true)
{
$user=$_SESSION["user"];
$utype=isset($user->salary)?"staff":"client";
}
else
{
echo "Login Error";
echo "<script>window.open('../default.html','_self')</script>";
exit();
}*/``
&GT;
当我使用href = menu.php点击home.php中的链接时,我收到错误,指出登录的内容未定义
答案 0 :(得分:0)
我不知道你的objects.php中有什么内容,调用会话可能应该在那之前。
session_start();
require("objects.php");
echo session_id();
echo $_SESSION["loggedin"];