【问题标题】:How can I get cookie in Laravel?如何在 Laravel 中获取 cookie?
【发布时间】:2018-03-03 15:47:27
【问题描述】:

我的问题的标题似乎重复,但事实并非如此。我已经测试了互联网上所有现有的方法。

这是我的代码:

dd($request->cookie('guarantee_ticket'));
// I also have tested this: dd(Cookie::get('guarantee_ticket'));

结果是null,而该cookie 存在于浏览器中。我可以看到它:

知道如何获取该 cookie 的值吗?

【问题讨论】:

  • 这个cookie是laravel创建的吗?
  • @RezaSh 是的,setcookie('guarantee_ticket', json_encode([$request->problem_title, $request->problem_description, $doesnot_turn_on]), time()+86400);
  • 我记得 laravel 只是处理 cookie 创建自己的 api,尝试通过 laravel 助手功能设置 cookie 或简单地使用 $_COOKIE['guarantee_ticket']
  • @RezaSh 是的,这有效$_COOKIE['guarantee_ticket'] 。但我喜欢用 laravel 函数来做这件事……有什么想法吗?
  • 你通过web中间件了吗?

标签: php laravel cookies


【解决方案1】:

在这里,我提到了在 laravel 简单示例中设置并获取 cookie。

首先创建一个控制器。

1.php artisan make:controller CookieController

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class CookieController extends Controller {

  **/* below code a set a cookie in browser */**
   public function setCookie(Request $request){
      $response = new Response('Hello World');
      $response->withCookie(cookie('name', 'Anything else'));
      return $response;
   }
  **/* below code a get a cookie in browser */**
   public function getCookie(Request $request){
      $value = $request->cookie('name');
      echo $value;
   }
}

1。 在 routes/web.php 文件中添加以下行代码 (Laravel 5.4)

Route::get('/cookie/set','CookieController@setCookie');

Route::get('/cookie/get','CookieController@getCookie');

并且所有文件加载项项目比运行程序更容易获得cookie。

【讨论】:

    猜你喜欢
    • 2017-10-15
    • 2017-12-25
    • 2017-04-12
    • 1970-01-01
    • 2014-09-18
    • 2019-03-12
    • 1970-01-01
    • 2019-04-23
    • 2015-02-08
    相关资源
    最近更新 更多