我在传输禁用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
,表示未设置。
答案 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设置的相同吗? ?