【问题标题】:laravel 5.3 working with cookies in all applicationlaravel 5.3 在所有应用程序中使用 cookie
【发布时间】:2016-09-26 04:08:12
【问题描述】:

我正在制作一个多国应用程序。我希望用户更改国家,所以我创建这样的链接:

Route::get('/pais/{code}', ['as' => 'pais', 'uses' => 'HomeController@pais']);

cookie 应该适用于所有应用,以避免再次选择国家/地区。 这是控制器:

public function pais($code){
    if(validarPais($code)){
        cookie('pais', strtoupper($code),999999);
    }

    return redirect()->route('home');
}

现在我需要在每个页面中访问该 cookie。我怎样才能做到这一点?谢谢

【问题讨论】:

  • Laravel Docs告诉你如何访问cookie:$pais = $request->cookie('pais');
  • 我用那个,cookie是空的
  • 那么cookie设置不正确;要么是因为 $code 为空,要么是验证失败。你为什么不按照我链接的文档中的描述设置它
  • 例如,如果我将 return 更改为返回 cookie: return cookie('pais', strtoupper($code),999999);它有效:pais=BO;到期=格林威治标准时间 2018 年 8 月 21 日星期二 06:50:26;路径=/; httponly 但我无法在刀片中访问该 cookie
  • validarPais() 是做什么的?是否成功验证$code?再说一次,你为什么不按照文档中所示设置 cookie,将其链接到响应?

标签: php laravel cookies laravel-5.3


【解决方案1】:

你可以使用 Laravel 会话:

Session::set('pais', strtoupper($code));

然后获取值:

Session::get('pais');

只要用户登录到您的应用程序,您就可以访问这些变量

【讨论】:

  • 谢谢,但我想在那台电脑上存储国家/地区
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 2017-03-12
  • 2017-02-04
  • 2023-04-05
  • 2019-11-22
  • 2017-07-30
  • 2020-01-12
相关资源
最近更新 更多