How To Set Session In Laravel?


In this tutorial, we will learn how to set session in laravel. 

Sessions are used to store user information requests. Laravel provides various drivers like file, cookie, array, and database, etc. to handle session data. By default, the file driver is used because it is lightweight. Session can be configured in the project stored at config/session.php.

Accessing Session Data

we need an instance of session which can be accessed via HTTP request. After getting the instance, we can use the get() method, which will be take one argument, “key”, to get the session data.

$value = $request->session()->get('key');

Storing Session Data

Data can be stored in the session using the put() method. The put() method will be take two arguments, the “key” and the “value”.

$request->session()->put('key', 'value');

Deleting Session Data

They forget() method is used to delete an item from the session. This method will take “key” as the argument. 

$request->session()->forget('key');

Use flush() method instead of forget() method to delete all session data in the user. Use the pull() method to retrieve data from session and delete it afterward. The pull() method will also take the key as the argument. The difference between the forget() and the pull() method is that forget() method will not return the session value and pull() method will return the value and delete that value from session.

Example:

Step 1 − Create a controller called SessionController by executing the following command see below.

php artisan make:controller SessionController --plain

Step 2 − After successful execution, you will receive the following output −

Session In Laravel / PHP Framework For Web Artisans - Step By Step

Step 3 − Copy the following code see below 

app/Http/Controllers/SessionController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class SessionController extends Controller {
   public function accessSessionData(Request $request) {
      if($request->session()->has('my_name'))
         echo $request->session()->get('my_name');
      else
         echo 'No data in the session';
   }
   public function storeSessionData(Request $request) {
      $request->session()->put('my_name','Ajay kumar');
      echo "Data has been added to session";
   }
   public function deleteSessionData(Request $request) {
      $request->session()->forget('my_name');
      echo "Data has been removed from session.";
   }
}
?>

Step 4 − Copy the following code in a file at

app/Http/routes.php

Route::get('session/get','SessionController@accessSessionData');
Route::get('session/set','SessionController@storeSessionData');
Route::get('session/remove','SessionController@deleteSessionData');

Step 5 − Visit the following URL set data in the session.

http://localhost:8000/session/set

Step 6 − Output will appear as shown in the following image.

Step 7 − Visit the following URL to get data from the session.

http://localhost:8000/session/get

Step 8 − The output will appear as shown in the image.


Step 9 − Visit the following URL to remove all session data.

http://localhost:8000/session/remove

Step 10 − You will see a message shown in the following image.



I hope it can help you...

Leave a Reply

Your privacy will not be published. Required fields are marked *

We'll share your Website Only Trusted.!!

close