Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 已传递会话,但未传递$\u会话_Php_Html_Session - Fatal编程技术网

Php 已传递会话,但未传递$\u会话

Php 已传递会话,但未传递$\u会话,php,html,session,Php,Html,Session,我试图将一个图形对象从jpgraph从一个页面传递到另一个页面。要将对象传递到下一页,我将其保存为$\u SESSION['graph'] 为了将会话传递到下一个页面,我使用 echo '<a href="...../next.php?SSID='.session_id().'">Next</a>'; 但是当我尝试访问$\u SESSION['graph']时,我得到了错误的未定义索引:graph,随后,当我尝试调用Stroke()函数时,它崩溃了 我做错了什么?默认行

我试图将一个图形对象从jpgraph从一个页面传递到另一个页面。要将对象传递到下一页,我将其保存为
$\u SESSION['graph']

为了将会话传递到下一个页面,我使用

echo '<a href="...../next.php?SSID='.session_id().'">Next</a>';
但是当我尝试访问
$\u SESSION['graph']
时,我得到了错误的未定义索引:graph,随后,当我尝试调用
Stroke()
函数时,它崩溃了


我做错了什么?

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

session.use_cookies=1
session.use_only_cookies=1
它们都默认为
1

所以,除非您已经更改了这个,否则您将不需要GET变量,因为会话id存储在一个cookie中,该cookie将随请求一起自动传递

只要这样做:

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

确保您在分配图形的页面上调用会话\开始为什么要将会话转到下一页?会话将自动继续。您确定
SSID
设置正确吗?是的,会话已正确启动,我检查了两个页面上的
session\u id()
输出,它们是相同的,因此没有将会话id放入URL中。考虑一下如果用户与其他人共享该链接会发生什么情况。现在,其他人可以劫持原始用户的会话了。@AndMim您是否在生成链接的文档中启动会话?对此不能说太多。只是:如果你把所有事情都做好了,那么我答案中的代码就可以了
session_start(); // will get session id from cookie and resume the session
$graph = $_SESSION['graph'];