Laravel 5.4 Cookie值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.4 Cookie值相关的知识,希望对你有一定的参考价值。

我想获得一个cookie的价值。

1 When I use Laravel's request cookie helper:

$request->cookie('CookieName');

Laravel返回cookie的名称而不是其值。

2 When I dd() the the cookie() function:

dd(cookie('CookieName'));

我明白了:

#name: "CookieName"
#value: null
#domain: null
#expire: 0
#path: "/"
#secure: false
#httpOnly: true
-raw: false
-sameSite: null

3 When I use php's build in $_COOKIE function:

$_COOKIE['CookieName'];

我实际上得到了cookie的价值。


有没有办法让Lavavel返回cookie的值?

答案

正如您所使用的那样,获取cookie值的正确方法

$request->cookie('name');

但是cookie辅助方法创建了一个新的cookie,而不是取值。所以,当你做dd(cookie('CookieName'));时,它创建一个具有该名称且没有价值的cookie并返回它。

Laravel无需任何用户干预即可在运行时加密和解密cookie值。检查您如何重新设置烹饪,并确保已设置将用于加密的APP_KEY。更改此密钥将使所有旧cookie无效。

另一答案

其实

$value = $request->cookie('name');

应该给你一个值,你可以在doc阅读。

我怀疑你的cookie是从一些外部代码(而不是laravel代码)设置的,例如它是由jQuery插件或其他东西创建的。在这种情况下,您必须将cookie添加到EncryptCookies中间件$除表之外。因为Laravel框架创建的所有cookie都经过加密并使用身份验证代码进行签名。例如来自jQuery插件的所有其他cookie未经Laravel加密和签名,因此$ request-> cookie('name')无法看到它们或它们的值。

以上是关于Laravel 5.4 Cookie值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 5.4 中存储数组 cookie?

laravel-5.4 - 错误:从空值创建默认对象

带有 Laravel 5.4 后端的 Vuejs 2,发布(未经授权)错误

Laravel 5.4 字段没有默认值

laravel 5.4 数据库中的表单下拉列表

如何获取用户选择的按钮值并在 laravel 5.4 的控制器上使用它