我有一个问题,
我有一个检查用户登录的登录页面,当用户成功登录时,我开始一个新的会话:
$loggedIn = new loggedIn();
$loggedIn->email = $userdetails["email"];
$loggedIn->displayname = $userdetails["display_name"];
$loggedIn->username = $userdetails["user_name"];
var_dump($loggedIn->username);
//Update last sign in
session_start();
$_SESSION["user"] = $loggedIn;
$kk = $_SESSION["user"];
var_dump($kk->username);
它显示succsessul会话创建,但当我转到其他页面或返回此页面时,我没有会话:
isset($_SESSION["user"])
为什么?
答案 0 :(得分:1)
您需要在每个要使用会话的页面上放置session_start();
。另外,请确保在您需要的每个页面上定义class loggedIn
。
答案 1 :(得分:0)
如果要从会话中检索数据,则必须在每个页面中插入session_start()
。
在向浏览器输出任何内容之前,必须先调用session_start()
。
您可以使用您的功能并检索信息。 如果你想看到你存储的会话中的所有数据,你可以像这样打印数组会话:
var_dump($_SESSION);
另一个可能的问题可能是您的班级loggedIn
你有没有以正确的方式实例化这个课程?
你可以在那个类或类似的东西中出现一些错误。