PHP-php setcookie有时会在ie下失效

PHP-php setcookie有时会在ie下失效

归属感 发布于 2017-02-03 字数 107 浏览 1064 回复 3

做登陆时,会记录用户的信息在cookie中,setcookie在指定域中,有时setcookie会失效,中不下cookie,为什么

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

归属感 2017-10-12 3 楼

在setcookie时如果没有指定 setcookie() 的第四个参数(合法路径参数),默认会把当前目录作为合法路径,所以导致Cookie无效,因为所设置的 cookie 路径不同。

IE当没有指定路径时,会覆盖当前 IP 下的同名Cookie变量,而FireFox比较严格,导致又重新建了个变量

甜柠檬 2017-09-18 2 楼

IE下,如果没有设置setcookie函数中的path和domain参数,那么可能会有cookie不能生效的事情。这真不是setcookie的原因,尽可能规范自己的代码,将函数参数的设置为正确可用的值(譬如path设置为’/',domain设置为’.127.0.0.1′)

浮生未歇 2017-03-21 1 楼

<?php
setcookie(“cookie[one]“, “cookieone”,time()+36000,”/”);
setcookie(“cookie[two]“, “cookietwo”,time()+36000,”/”);
setcookie(“cookie[three]“, “cookiethree”, time()+36000,”/”,”.65.la”);
// 页面重新
if (isset($_COOKIE["cookie"])) {
foreach ($_COOKIE["cookie"] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo “$name : $value <br />n”;
}
}
?>
上面代码,在chrome和firefox下可以生成三个cookie:
cookie[one]、cookie[two]、cookie[three]
在IE下,只能生成cookie[one]、cookie[two]两个cookie,第三个因为指定了”.65.la”,导致cookie[three]生成失败。
不知道你遇到的是神马问题,希望可以帮到你。