在您将此标记为重复之前,我已阅读了有关此主题的所有答案,并且非他们为我工作,这就是我发布此内容的原因。
所以问题是$ _SESSION的数据没有在页面之间保存。这是我的测试:
TestOne.php
<?php
session_start();
$_SESSION["user_id"] = 1;
if(isset($_SESSION["user_id"])) {
header("Location: TestTwo.php");
}
?>
TestTwo.php
<?php
if(isset($_SESSION["user_id"])) {
echo $_SESSION["user_id"];
}
?>
它转到第2页,但它是一个空白页面。为什么数据不能在页面之间保存? php.ini中的session_save设置为/ tmp(我正在使用hostgator)
答案 0 :(得分:4)
session_start();
上遗漏了TestTwo.php
仅供参考:如果您正在使用Sessions,则需要在所有PHP文件上调用session_start();
。
我已经阅读了关于这个主题的所有答案和非他们的答案 为我工作,这就是我发布这个的原因。
真的引起了我的注意。
答案 1 :(得分:2)
使用会话变量,你需要使用session_start()
在那之前
session_start();
if(isset($_SESSION["user_id"])) {
echo $_SESSION["user_id"];
}
答案 2 :(得分:1)
您需要会话的每个页面都需要session_start()
。