Laravel Course

- Retrieving Cookie from Request
- Redirect with Cookie
- Deleting Cookie

Cookie generated by the Laravel framework are encrypted and signed and it can`t be modified or read by the client.

Creating Cookie

You can create a cookie by attaching the global cookie() helper to a response():
return response('Hello Me.')->cookie('name', 'value', $minutes);
If you want to create the cookie when a view is returned, use the following syntax:
return response()->view('file_name')->cookie('name', 'value', $minutes);
The cookie() method will take 3 arguments. First argument is the name of the cookie, second argument is the value of the cookie, and the third argument is the duration in minutes after which the cookie will get deleted automatically.

Retrieving Cookie from Request

To retrieve a cookie value from the request, use the cookie() method on a Illuminate\Http\Request instance:
$value = $request->cookie('name');

Redirect with Cookie

To make a redirect with cookie, apply the withCookie() method:
return redirect('/')->withCookie(cookie('cookie_name', 'value', $minutes));

Deleting Cookie

To delete a cookie, just create that cookie with a negative value in the third argument, $minutes:
return response()->view('file_name')->cookie('name', '', -1);

Practical example

1. We create a controller called CookieController.
Copy the following code and save it in "app/Http/Controllers/CookieController.php".
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class CookieController extends Controller {
  public function getCookie(Request $request){
    $val = $request->cookie('name');
    if($val) return 'Cookie "name" = '. $val;
    else return 'No cookie "name"';
  }

  public function setCookie(Request $request){
    return response('Hello Me.')->cookie('name', 'cookie-value', 60);
  }

  public function deleteCookie(Request $request){
    return response('Cookie deleted')->cookie('name', '', -1);
  }
}
2. Now, set up the routes to test the CookieController.
Add the following code in the routes/web.php file:
Route::get('cookie/get','CookieController@getCookie');
Route::get('cookie/set','CookieController@setCookie');
Route::get('cookie/delete','CookieController@deleteCookie');
3. Visit the following URL to create the cookie:
//localhost:8000/cookie/set
- Output:
Hello Me.
4. Visit the following URL to get the cookie`s value:
//localhost:8000/cookie/get
- Output:
Cookie "name" = cookie-value
5. Visit the following URL to delete the cookie:
//localhost:8000/cookie/delete
- Output:
Cookie deleted
6. Now, if you visit again the URL: //localhost:8000/:/get , it will display:
No cookie "name"

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
What attribute makes a radio button or checkbox input selected?
checked="checked" selected="selected" disabled="disabled"
<input type="checkbox" name="a_name" value="value" checked="checked" />
What CSS value scales the background image to the largest size contained within the element?
repeat-x contain linear-gradient
#id {
  background:url("path_to_image.png");
  background-size:contain;
  background-repeat:no-repeat;
}
What operator is used to determine the rest of the division of two numbers?
% * /
var rest8_7 = 8 % 7;
alert(rest8_7);
Indicate the PHP function that rounds a number up to the next highest integer.
floor() ceil() abs()
$nr = ceil(3.5);
echo $nr;        // 4
Cookies

Last accessed pages

  1. AJAX Course, free Lessons (19886)
  2. Get Time Elapsed (1925)
  3. New Form elements and attributes in HTML5 (6257)
  4. Convert XML to JSON in PHP (12492)
  5. Area and Perimeter Calculator for 2D shapes (10156)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (55)
  2. The Mastery of Love (9)
  3. CSS cursor property - Custom Cursors (9)
  4. Read Excel file data in PHP - PhpExcelReader (7)
  5. CSS3 2D transforms (6)