php新手请教一个关于cookie的问题
本文介绍了php新手请教一个关于cookie的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
代码如下:
function cookie($name) {
return isset($_COOKIE[$name]) ? $_COOKIE[$name] : null;
}
/**
* 从客户端浏览器删除一个 Cookie。
* @param string $cookie_name 要删除的 Cookie 名称。
* @return void
*/
function delete_cookie($cookie_name) {
setcookie($cookie_name, '', time() - 2 * 24 * 3600);
unset($_COOKIE[$cookie_name]);
}
delete_cookie('mycookie');
setcookie('mycookie', 'myvalue');
var_dump(cookie('mycookie')); // 为何这里总是输出NULL?为什么不是输出刚刚设置的'myvalue'?
为何总是输出NULL?为什么不是输出刚刚设置的'myvalue'?
解决方案
COOKIE 是你从你的客户端带过去的,所以读到COOKIE应该是上次脚本设置的,然而你每次执行这个脚本时, 都把上次设置的COOKIE删了,然后设置了一个新COOKIE,这个COOKIE只能被下次运行的脚本读取到。然后一直进行 删-设-删-设 的循环。。。所以读不到咯。
如果把COOKIE改为SESSION的话,就能读到了,SESSION不会像COOKIE这样慢一拍的。它是保存在服务器的。
这篇关于php新手请教一个关于cookie的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文