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
Which HTML5 tag is indicated to be used as container for menu with navigation links in Web site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Which CSS property shifts an item horizontally to the left or right of where it was?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Click on the Math object method which returns x, rounded downwards to the nearest integer.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicate the PHP function which returns the number of characters in string.
mb_strlen() count() stristr()
$str = "string with utf-8 chars åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 30
Cookies

Last accessed pages

  1. JavaScript code and PHP (34151)
  2. Wake Up! (11270)
  3. Select in MySQL, Output results in HTML Table (16001)
  4. Contact page - CoursesWeb (48293)
  5. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (118115)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (520)
  2. PHP Unzipper - Extract Zip, Rar Archives (421)
  3. SHA256 Encrypt hash in JavaScript (402)
  4. Read Excel file data in PHP - PhpExcelReader (360)
  5. Create simple Website with PHP (332)