php cookie怎么清除,php cookie如何清除,

php cookie如何清除如何清除PHP cookies,php cookie的清除方法:首先,创建一个php样本文件;然后创建一个cookie通过setcookie最后通过“setcookie (‘test ‘,”,time()-3600);”方法清除创建的cookie。

f07ccfde039d5140d2a991c17106446f.png

推荐:《PHP视频教程》

这种方法适用于任何品牌的计算机。

PHP清除COOKIE,PHP无法删除COOKIE?

设置COOKIE有效期和COOKIE过期时间

PHP手册上说:

PHP透明支持HTTP cookie。Cookie是一种在远程浏览器中存储数据以及跟踪和识别用户的机制。可以使用setcookie()或setrawcookie()函数设置cookie。Cookie是HTTP头的一部分,所以在其他信息输出到浏览器之前必须调用setcookie()函数,类似于对header()函数的限制。

setcookie():

要删除一个cookie (stringname [,stringvalue [,intex fire[,stringpath [,stringdomain [,boolsecure]]]]),在触发浏览器的删除机制之前,需要确保其到期日期在过去。

删除cookie的方法是在当前时间之前设置它的有效性,这是几乎所有php程序员都会做的。

例如:

setcookie(‘test ‘,’ true ‘,time()3600);//创建cookie

setcookie(‘test ‘,”,time()-3600);//清除创建的cookie========================================================================。

If直接setcookie(‘test ‘,’ ‘);

print _ r($ _ COOKIE);结果是整个$_COOKIE数组都是空的,而不仅仅是$_COOKIE[‘testcookie’]。于是用winsock抓取数据包,观察返回的http头,发现http头原来是

set-Cookie : test cookie=已删除;Expires=mon,18-jun-200702336042336033 GMT这意味着setcookie(‘testcookie ‘,’ ‘);testcookie被直接删除是真的,但是这种情况在php手册中根本没有解释。

最后,我阅读了php源代码,终于发现了真相(这是开源的好处,如果有什么不清楚的内幕,直接查看源代码)

下面的代码可以在php5.20的linux源码包中的ext/standard/head.c第99行附近找到。

if (value value_len==0) {

time _ t t=time(NULL)-31536001;

dt=php_format_date(‘D,d-M-Y H:i:s T ‘,sizeof(‘D,d-M-Y H:i:s T’)-1,T,0 TSRMLS _ CC);

sprintf(cookie,’ Set-Cookie :% s=已删除;expires=%s ‘,名称,dt);

ef REE(dt);

} else {

sprintf(cookie,’ Set-Cookie: %s=%s ‘,名称,值?encoded _ value : ‘ ‘);

if(过期0) {

strcat(cookie,’;expires=’);

dt=php_format_date(‘D,d-M-Y H:i:s T ‘,sizeof(‘D,d-M-Y H:i:s T’)-1,expires,0 TSRMLS _ CC);

strcat(cookie,dt);

ef REE(dt);

{}

}源代码中明确显示,如果(value_len==0),当value_len为0时,

当.的时候

sprintf(cookie,’ Set-Cookie :% s=已删除;expires=%s ‘,名称,dt);将删除cookie的http头发送到浏览器。

最后,我们可以得出结论,在php中使用

setcookie($ cookiename ‘ ‘);或者setcookie($cookiename,NULL);会删除cookie,这些都不在这些手册里。

===============================================================

无法删除/清除过期的php cookie?

今天,Cookie被用来登录网站用户。调试后,使用

setcookie(‘username ‘,’ username ‘,time() 1000,’/PHP 100/’);保存用户的登录信息,然后使用

setcookie(‘username ‘,”,time()-3600);做退出,IE下测试没问题。既然你是网站,人,你应该兼容尽可能多的浏览器,呵呵。于是我在Firefox上测试了一下,上线的时候一切正常。怎么不会退出,用户总是登录。然后我查了一下IE和Firefox里记录的区别,经过测试,突然意识到。

本来如果没有指定setcookie()的第四个参数(合法路径参数),默认会把当前目录作为合法路径,我测试的路径是:http://127 . 0 . 0 . 1/PHP/rss2fra/data/log . PHP,所以登录和退出时设置的cookie路径是不一样的。

IE比FireFox更人性化,呵呵,美国指定路径的时候会覆盖当前IP下同名的Cookie变量,但是Firefox更严格,导致一个变量的重构.以上是如何清除php cookie的细节,请多关注Lei.com其他关于php知识的相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值