无法获取已设置的Laravel Cookie

时间:2019-07-09 06:21:07

标签: laravel cookies

我的登录表单中有一个复选框,如果选中该复选框,我想将用户的电子邮件和密码保存在Cookie中,这样他就可以自动登录。这是我的代码部分,用于检查该复选框是否为检查并设置cookie。

if ($remember == 'on') {

                    $array = array(

                        "email" => $email,
                        "password" => $password

                    );

                    $time = time() + (10 * 365 * 24 * 60 * 60);

                    Cookie::queue('user', serialize($array), $time);

                }

但是当我尝试获取cookie并将其打印出来时,它会显示“ false”。

$cookie = Cookie::get('user');

dd(unserialize($cookie));

如何获取Cookie?它显示了在inspect中设置的cookie。 检查cookie是否已设置的最佳方法是什么,以便我将用户立即重定向到个人资料视图?我必须为此编写中间件吗?

1 个答案:

答案 0 :(得分:1)

问题是您的dd函数调用。

当用户检索带有附加Cookie(设置cookie头)的响应时,Cookie将存储在用户的浏览器中,您可以在他发送给您的下一个请求中阅读它们。

调用dd时,它会中断响应链并删除set-cookie标头。

只需移除dd并在另一条路径中写:

dd(unserialize(\Request::cookie('user')));