PHP-会话变量没有从一页保存到另一页


PHP - Session variables not saving from page to page

在您将此标记为重复之前,我已经通读了关于此主题的所有答案,其中没有一个对我有效,这就是我发布此消息的原因。

因此,问题是$_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()