首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

关于ie的session丢失有关问题.求各路大神帮忙下

2014-01-15 
关于ie的session丢失问题..求各路大神帮忙下代码很简单session_start()header(Content-Type: text/html

关于ie的session丢失问题..求各路大神帮忙下
代码很简单


session_start();
header("Content-Type: text/html;charset=utf-8");
setcookie ('username', "aa",time()+3600*24*365);
$_SESSION['username'] = "a"; 
echo "PHPSESSID:".$_COOKIE['PHPSESSID'];


在firefox,chrome中能正常显示PHPSESSID,但在ie中有写入session,却没法写入到 $_COOKIE['PHPSESSID'],导致后面调取不到session内容。求解答
环境IE6
[解决办法]
刷新一下就有了,除非你关闭了 cookie
[解决办法]
setcookie ('username', "aa",time()+3600*24*365,"/");
[解决办法]
看到楼主session_start后就马上echo了PHPSESSID..
setcookie后虽然服务端会发送cookie数据给浏览器,但是$_COOKIE数组不会马上得到这个相应的键,包括第一次session_start后COOKIE不会马上有PHPSESSID的,COOKIE数组的生成是请求发生时,浏览器附带COOKIE到服务端,服务端才生成的,不是setcookie时实时变化的

所以第一次setcookie或者session_start,$_COOKIE数组是空的,但客户端却已经有了COOKIE数据了,等客户端刷新再请求过来时就会有COOKIE数组的内容了,不过楼主刷新多几次倒不会看到报错.希望楼主对这方面有正确的理解,或者可能你本身已经知道.
==========================================


正题,按照我的经验,发送cookie要兼容IE浏览器的话必须在setcookie函数的参数中带上path参数

热点排行