会话ID已传递,设置,但会话不包含变量(禁用cookie)

时间:2012-07-22 17:32:19

标签: php session

我在传输禁用cookie的会话变量时出现问题。

脚本1:

session_start();
$_SESSION['x'] =55;

然后我通过URL传递会话ID(我通过查询php init设置尝试了它,并且还明确地将其附加到URL),例如:

<a href="abc.php?<?php echo SID; ?>">abc to</a>

脚本2 abc.php:

session_start();
session_id($_GET['PHPSESSID']);
echo session_id();

我在第二个脚本中检查ID,它完全一样。但是当我尝试使用: $_SESSION['x']变量或print_r上的$_SESSION,表示未设置。

2 个答案:

答案 0 :(得分:2)

原谅。经过几个小时的搜索,我终于找到了一个解决方案,只需几分钟就可以发布这个问题。

订单应该是:

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

因此必须首先设置ID,然后开始会话。或者至少看起来如此。

答案 1 :(得分:0)

echo session_id($_GET['PHPSESSID']);

而不是

session_id($_GET['PHPSESSID']);
echo session_id();

session_id()返回session_id(字符串$ id) 因此要么将它存储在$ var中,要么在上面的示例中回显它

您希望与$ _SESSION ['x'] = 55设置的相同吗? ?