在您将此标记为重复之前,我已经通读了关于此主题的所有答案,其中没有一个对我有效,这就是我发布此消息的原因。
因此,问题是$_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"];
}
?>
它转到第二页,但却是一页空白。为什么数据没有从一页保存到另一页?php.ini中的session_save设置为/tmp(我使用的是hostgator)
您的TestTwo.php
上缺少session_start();
仅供参考:如果您正在使用Sessions,则需要对所有PHP文件调用session_start();
。
我已经通读了关于这个话题的所有答案,其中没有为我工作,这就是我发布这篇文章的原因。
真的引起了我的注意。
要使用会话变量,需要使用session_start()
在之前
session_start();
if(isset($_SESSION["user_id"])) {
echo $_SESSION["user_id"];
}
每个需要会话的页面上都需要session_start()
。