会话已通过,但$ _SESSION不是

时间:2013-07-16 16:16:32

标签: php html session

我正在尝试将jpgraph中的图形对象从一个页面传递到另一个页面。要将对象传递到下一页,我将其保存为$_SESSION['graph']

要将会话传递到下一页,我将其添加到带有

的URL
echo '<a href="...../next.php?SSID='.session_id().'">Next</a>';

在next.php中,我获得SID并开始会话:

session_id($_GET['SSID']);
session_start();

但是当我尝试访问$_SESSION['graph']时,我收到错误 Undefined index:graph ,随后,当我尝试调用Stroke()函数时,它崩溃了。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

默认行为是会话ID将存储在cookie中,而不是存储在GET变量中。这由以下php.ini值控制:

session.use_cookies=1
session.use_only_cookies=1

两者都默认为1

因此,除非您更改了此内容,否则您将不需要GET var,因为会话ID存储在将随请求一起传递的cookie中 - 自动。

这样做:

session_start(); // will get session id from cookie and resume the session
$graph = $_SESSION['graph'];