页面cook的清除php代码,PHP退出登录及cookie无法删除问题的解决办法

对于cookie的记忆,只有在学习的时候和面试的时候才有点印象,不经常操作cookie,所以了解也不多。昨天看到一个朋友的项目退出功能不完善,就提醒了一下,思路很简单,删除cookie就ok了,但她也不太会做退出功能,所以就帮忙捣鼓了一下,结果当天晚上没有捣鼓出来,以失败而告终。

另一个朋友建议用js做,想了一下,好像就是这样,用js直接在本页面删除cookie,不用经过php了,岂不是更简单,但js删除cookie我是一点都没用过,甚至是第一次知道可以用js删除cookie...

不会做可以学,可以不断尝试,这样才能会。其实就是折腾...

写了一个简单的页面,设置了一个cookie,然后上网查了一下代码,在本地测试后,可以使用,本以为大功告成,结果用在朋友项目中发现无效,仔细看了下,原来不只是本页面有cookie,其他文件保留的也有这个cookie,只删除这个页面的cookie没有用,其他文件依然会把这个cookie给传递过来,cookie又重新有了(其实是因为没有销毁cookie)...虽然没有成功,但还是要粘贴一下js代码,毕竟还是能删除cookie的。

//读取cookies

function getCookie(name)

{

var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

}

//删除cookies

function delCookie(name)

{

var exp = new Date();

exp.setTime(exp.getTime() - 1);

var cval=getCookie(name);

if(cval!=null)

document.cookie= name + "="+cval+";expires="+exp.toGMTString();

}

delCookie('name'); //name是cookie的名字,找到cookie名字,然后替换cookie

js删除cookie失败让我很苦恼,然后就翻了一下朋友的代码,虽然有大量的ajax,但基本还是能看懂的,顺着代码查到退出登录的php代码,想着在这个地方删除cookie,然后打印一下,cookie删除了,但依然没有退出,和js情况一样。

这时候想起来翻一下老师的代码,看看老师当初是怎么写的,很幸运,一大堆文档,一下就找到这个了,看了下老师写的代码,退出功能的方法中不仅有清除session还有销毁session,貌似问题就出在这个地方没有销毁session,试了一下,大功告成!!!

public function logout() {

//删除session

unset($_SESSION['PHPSESSID']);

//销毁session

session_destroy();

//如需跳转,写个跳转方法

}

4e7774cfe7751277d7aace88f2515bb2.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值