日期:2014-05-17  浏览次数:20473 次

为什么删除不了COOKIE?????
使用的是MVC框架,在一个控制器的action中设置COOKIE:
PHP code

setCookie('isLogin', 1, 0, '/');
setCookie('nickName', $result[0]['nickname'], 0, '/');
setCookie('integral', $result[0]['integral'], 0, '/');



然后在另一个action中杀出COOKIE:
PHP code

setCookie('isLogin', '', time()-100);
setCookie('nickName', '', time()-100);
setCookie('integral', '', time()-100);



但是COOKIE并没有删除成功~用var_dump($_COOKIE)还是能打印出isLogin等的值,这是为什么啊?


谢谢!

------解决方案--------------------
cookie的原理你明白吧?
首先如果你第一次请求一个远程服务器页面,然后如果浏览器发现返回头里有Set-Cookie项(php的setcookie函数做得事情,或者用header函数也可实现),浏览器就知道该保存cookie了,相应参数还有cookie多久过期,服务器文件路径,有效域名等等。。。然后第二次你再请求同样的服务器(根据域名判断),浏览器自己会检测上次这个服务器叫我保存的cookie,我都检查一遍,没有过期的通通放入http请求头(Cookie项)发送到服务器去,这时候服务器才能根据http请求头获取到客户端发送过来的cookie值,然后根据这些值初始化$_COOKIE数组.