'Session'上的PHP会话变量消失

时间:2013-07-08 22:09:40

标签: php html session-variables

我尽可能简单地简化了我的脚本,以说明我上面描述的麻烦。

这是testPage1.php

<?php
    session_start();
    $_SESSION['loggedIn'] = true;
?>
<form action="testPage2.php" method="post">
    <input type="submit" value="See vars" />
</form>

这是testPage2.php

<?php 
    echo 'session variables:<br />';
    Print_r ($_SESSION); 
?>

浏览器中testPage2的预期输出为:
会话变量:
数组([loggedIn] =&gt; 1)


相反,我只是得到了 会话变量:

检查/var/log/apache2/error.log显示
[Mon Jul 08 22:00:25 2013] [错误] [客户端155.70.23.19] PHP注意:未定义的变量:第3行的/var/www/euler/testPage2.php中的_SESSION,referer:{{3 }}

任何想法?

2 个答案:

答案 0 :(得分:3)

testPage2.php缺少session_start();添加

session_start();

位于testPage2.php

的顶部

答案 1 :(得分:2)

来自PHP Manual

  

要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start()。

因此,在您将使用会话的每个PHP脚本的最顶部包含session_start()