浏览器禁用cookies后,同一个域名下的session读不出来了,
开启cookies后,可以读取出session了。
禁用cookies后怎么才可以读出服务器端的session?
设置php.ini的session.use_trans_sid = 1可以在超链接上自动
加上SESSIONID,在接受页加上$id=$_GET['PHPSESSID']用session_id($id);
为什么读取不出来呢???????????????????、
typeTest.php
session_start();
$_SESSION['test']='lili';
$_SESSION['age']=23;
echo $_SESSION['test'];
?>
<a href="test.php">d</a>
test.php
$sid = $_GET ['id'];
echo $sid."<br>";
echo session_id($sid).'<br>';
session_start ();
echo session_id().'<br>';
echo 'session["test"]=' . $_SESSION ['test'];
为什么读取不出来????????
Session_start():开始一个会话或者返回已经存在的会话。
有些类型的数据不能被序列化因此也就不能保存在会话中。
包括 resource 变量或者有循环引用的对象(即某对象将一
个指向自己的引用传递给另一个对象)。
说明:这个函数没有参数,且返回值均为true。
如果你使用基于cookie的session(cookie-based sessions),
那么在使用Session_start()之前浏览器不能有任何输出,
当客户端禁用 COOKIE 时(点击IE中的“工具”—“Internet选项”,
在弹出的对话框里点击“安全”—“自定义级别”项,
将“允许每个对话COOKIE”设为禁用),session_id 将无法传递
,此时 SESSION 失效。不过 php5 在 linux/unix 平台可以自
动检查 cookie 状态,如果客户端设置了禁用,则系统自动把
session_id 附加到 url 上传递。windows 主机则无此功能。