PHP - 会话变量不在页面之间保存

时间:2013-11-30 12:38:21

标签: php session session-variables web-hosting

在您将此标记为重复之前,我已阅读了有关此主题的所有答案,并且非他们为我工作,这就是我发布此内容的原因。

所以问题是$ _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)

3 个答案:

答案 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()