加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel:Cookie :: forget()无效

发布时间:2020-12-14 19:40:50 所属栏目:大数据 来源:网络整理
导读:我在Laravel 5.6中删除cookie时遇到问题.我已经根据 this,this,this和 this问题尝试了各种不同的东西,但它们都没有工作; 1. return response() -redirectToRoute('home') -withCookie(Cookie::forget('code')) -withCookie(Cookie::forget('email')); 2. Coo
我在Laravel 5.6中删除cookie时遇到问题.我已经根据 this,this,this和 this问题尝试了各种不同的东西,但它们都没有工作;

1.

return response()
    ->redirectToRoute('home')
    ->withCookie(Cookie::forget('code'))
    ->withCookie(Cookie::forget('email'));

2.

Cookie::queue(Cookie::forget('code'));
Cookie::queue(Cookie::forget('email'));

return redirect('/');

3.

Cookie::queue('code',null,-1);
Cookie::queue('email',-1);

return redirect('/');

4.

return redirect('/')
    ->withCookie(cookie('code','',-1))
    ->withCookie(cookie('email',-1));

5.

return response()
    ->redirectToRoute('home')
    ->withCookie(cookie('code',-1));

3,4和5甚至不更改cookie的值,原始值仍保留在cookie中.我不知道我可以尝试的其他方法,所以任何帮助将不胜感激.

Cookie通常在Laravel中添加如下:

return response()
    ->redirectToRoute($this->handleRedirect($result))
    ->cookie('code',$request->code,$this->duration,$this->domain)
    ->cookie('email',$request->email,$this->domain);

解决方法

我记得我在使用laravel cookie时遇到了一些问题,最后我决定用PHP的原生函数手动设置cookie,

设置新的cookie使用此代码:

setcookie('index','value',time() + $secondsToRemember,'/');

并删除它们使用此代码:

setcookie('index','Expired',time() - 100000,'/');

这是处理cookie的最简单方法.

在该代码之后,您可以返回或重定向用户或执行其他操作

您可以阅读此页面以获得更详细的解释:
https://www.w3schools.com/php/php_cookies.asp

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读