How to set and get Cookie in laravel

I would like to set and get a value in a cookie, but it doesn't work:

    Cookie::queue('online_payment_id', "1", 15);

    $value = Cookie::get('online_payment_id');
    dd($value);

      

dd()

returns null

;


I used below but got this message:

Method cookie does not exist.

    request()->cookie('online_payment_id');

    $value = response()->cookie('online_payment_id', "1", 15);
    dd($value);

      

+4


source to share


7 replies


Set cookies

 public function setCookie(Request $request){
      $minutes = 60;
      $response = new Response('Set Cookie');
      $response->withCookie(cookie('name', 'MyValue', $minutes));
      return $response;
   }

      



Get Cookie

   public function getCookie(Request $request){
      $value = $request->cookie('name');
      echo $value;
   }

      

+1


source


Add at the top of the file add use Symfony\Component\HttpFoundation\Cookie;

or justuse Cookie;

Instantiating Cookies

    $cookie = cookie('name', 'value', $minutes);
    return response('Hello World')->cookie($cookie);

      



Retrieving Cookies from Requests you can use Request, make sure you use the method Request $request

in your method.

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

      

+4


source


Like everything else in laravel, there are many ways to set / get cookies. The cookie will be automatically added to the outgoing response.

    $value = 1;
    $minutes = 15;
    Cookie::queue($online_payment_id, $value, $minutes);

      

To get the cookie you can use

    request()->cookie($online_payment_id);

      

+2


source


There are several ways to set and get cookies in laravel.

The official documentation says Cookies

I used to end this way

$response = new \Illuminate\Http\Response(view('welcome'));
$response->withCookie(cookie('test_cookie', $request->test_cookie, 45000));
return $response;

      

You can also use CookieJar

Refer CookieJar

0


source


Try the following:

public function setCookie(Request $request){

 $cookie_name = "user";
 $cookie_value = "value";
 setcookie($cookie_name,$cookie_value, time() + (86400 * 30), "/"); //name,value,time,url

 dd($_COOKIE['user']);

}

      

0


source


Even if you follow the Laravel documentation closely regarding how to set cookies, you can go crazy for hours (as I did today) because you just can't get your cookies!

I finally discovered why my cookies were not set ... I also used a function dump()

to display data during code validation. The function dump()

sends output to the browser, which requires headers to be sent. Cookies must also be sent with headers, so if you use dump()

your cookies will never be sent!

Hope this helps others who are most likely to run into this situation.

0


source


show all cookies

request()->cookie();

      

to get a specific item

request()->cookie('itm_name');

      

install item

request()->cookie('item_name', 'item_value', Min_how_long_it_will_alive);

      

0


source







All Articles