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);
source to share
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;
}
source to share
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');
source to share
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);
source to share
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
source to share
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.
source to share