0

在我的 login.php 中启动新会话后,我重定向到 home.php 并成功加载会话变量。但是当我尝试从 home.php 打开 menu.php 并使用会话变量时,这些相同的变量现在未定义。我在两次页面更改后都回显了会话 ID,并且完全相同。那么谁能告诉我为什么我会丢失这些变量?

登录.php:

session_start();
 $_SESSION["user"]=$puser;
 $_SESSION["loggedin"]=true;
 echo "<script>window.open('../home.php','_self')</script>";

?>

主页.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();
}``

?>

菜单.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();
}*/``

?>

当我使用 href=menu.php 单击 home.php 中的链接时,我收到未定义索引登录的错误

4

1 回答 1

0

我不知道您的 objects.php 中有什么,调用会话可能应该在此之前。

session_start();
require("objects.php");
echo session_id();
echo $_SESSION["loggedin"];
于 2013-08-06T22:12:32.363 回答