ie与session丢失(新窗口cookie丢失)的解决办法
内容摘要
这篇文章主要为大家详细介绍了ie与session丢失(新窗口cookie丢失)的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!今天
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!今天
文章正文
这篇文章主要为大家详细介绍了ie与session丢失(新窗口cookie丢失)的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
今天在一个群中有人问到ie6中使用js的open,发现新窗口中并获取不到session,经过使用下面的测试代码测试发现,是因为phpsessionid储存是进程级的有效期,只有同一进程才能获取得到,很多人说,open后或是target="_blank",都是会打开新的ie进程,所以,之前窗口的phpsessionid就不跟着新窗口走,导致获取不到.我自己的测试使用的是ietest,6/7/8(9启动不起来,不确定),都出现相同的情况.但是使用windows自带的ie10测试不存在此情况.chrome也是多线程,但是并不存在此情况.firefox不存在此情况.index.php代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | <code> <?php /* php教程 www.512Pic.com */ setcookie( 'kkkkk' , 'bbbb' , time() + 1111111); session_start(); $_SESSION [ 'qidizi' ] = 'kkkk' ; var_dump( $_SESSION , $_COOKIE ); ?> <input type= "button" value= "d" onclick= "window.open('./b.php');" /> <a href= "b.php" target= "_blank" >dddd</a> </code> |
代码如下:
1 2 3 4 5 6 7 | <code> <?php /* php教程 www.512Pic.com */ session_start(); var_dump( $_SESSION , $_COOKIE ); </code> |
注:关于ie与session丢失(新窗口cookie丢失)的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释