Php 已传递会话,但未传递$\u会话
我试图将一个图形对象从jpgraph从一个页面传递到另一个页面。要将对象传递到下一页,我将其保存为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()函数时,它崩溃了 我做错了什么?默认行
$\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'];