php SetCookie适用于Firefox,但不适用于IE

我有两个PHP脚本

test.php的

<?php
 header("location: test2.php");
 setcookie("test", "8kFL4IZfjkBmV7AC", time()+60*60, '/');
 exit;
?>

test2.php

<?php
 var_dump($_COOKIE);
?>

然后我将浏览器指向test.php,重定向到test2.php.然后我得到以下结果.

在Firefox中,我得到以下内容:

array
  'test' => string '8kFL4IZfjkBmV7AC' (length=16)

但是在IE6中,我得到以下内容:

array
  'PHPSESSID' => string 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (length=32)

注意:我故意X出了上面的PHPSESSID!

有谁知道我哪里出错了,为什么IE6不显示我的cookie.

提前致谢

解决方法:

您是否在使用localhost环境? IE http://localhost要测试吗?如果是这样,这可能会导致设置cookie出现问题.我的建议是为setcookie设置域名字段,如果你正在使用localhost试试这个:setcookie(“username”,“George”,false,“/”,false);或者使用localhost以外的服务器名设置vhost并将其用于域.

使用域设置cookie将类似于:

setcookie(“test”,“8kFL4IZfjkBmV7AC”,time()60 * 60,’/’,’.domain.com’);

希望这有助于你.

上一篇:PHP Cookie


下一篇:C#获取或设置cookie,使用cookie从Web下载内容