0

我将我的脚本尽可能简单地简化以说明我上面描述的问题。

这是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] => 1)


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

检查 /var/log/apache2/error.log 显示
[Mon Jul 08 22:00: 25 2013] [error] [client 155.70.23.19] PHP Notice: Undefined variable: _SESSION in /var/www/euler/testPage2.php on line 3, referer: http://myURL.net/euler/testPage1.php

任何想法?

4

2 回答 2

3

testPage2.php 缺少 session_start(); 添加

session_start();

在 testPage2.php 的顶部

于 2013-07-08T22:12:35.293 回答
2

来自PHP 手册

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

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

于 2013-07-08T22:13:13.767 回答