Session Tutorial in Laravel 11

 <?php


namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TestController extends Controller
{
    public function index()
    {
        $valueNine = session("name");
        return view("welcomeTwo",compact("valueNine"));

        // session() is a Global Helper Function
        // "Request" Class is used to access Form Data
        $value = session()->all();
        echo "<pre>";
        print_r($value);
        echo "</pre>";

        $valueTwo = session()->get("name");  //Get(Read) Session Value
        // we can use default value(Here, "HELLO" is default value of name "name") of given session in case of not present given session as shown below :
        $valueTwo = session("name", "HELLO");    //Get(Read) Session Value
        echo $valueTwo . "<br><br>";

        // except() method returns Array
        // $valueThree = session()->except(["class"]);
        // echo "<pre>";
        // print_r($valueThree);
        // echo "</pre>";

        // $valueFour = session()->only(["name","_previous"]);
        // echo "<pre>";
        // print_r($valueFour);
        // echo "</pre>";

        // To Check whether any particular session exists OR Not, we can use has() method of session
        if (session()->has("name")) {
            $valueFive = session()->get("name");
            echo $valueFive . "<br><br>";
        } else {
            echo "has() : Name Key does not exist<br><br>";
        }

        // We can also use exists() method to check whether any particular session exists OR Not
        if(session()->exists("name")) {
            $valueSix = session()->get("name");
            echo $valueSix . "<br><br>";
        } else {
            echo "exists() : Name key does not exist<br><br>";
        }

        if(session()->exists("fruit")) {
            $valueSeven = session()->get("fruit");
            echo $valueSeven . "<br><br>";
        } else {
            echo "exists() : Fruit key does not exist<br><br>";
        }

        // exists() method returns true if session key exists OR session has NULL value and returns false(OR will go in else part) only if session key doesn't exists
        // exists() will check only whether session key is present OR Not, Not value
        // If any session key has NULL value then exists() method will print it.
        // has() method returns true only if session key exists and returns false(OR will go in else part) if session key doesn't exists OR session key has NULL value

        if(session()->has("fruit")) {
            $valueEight = session()->get("fruit");
            echo $valueEight . "<br><br>";
        } else {
            echo "has() : Fruit key does not exist<br><br>";
        }
    }
    public function storeSession(Request $request)
    {
        // When we use "Request Class" with session at that time, we must use "put()" method
        session(["name" => "HelloWorld", "class" => "BTech", "fruit" => NULL]);
        // $request->session()->put("class","BTech");

        session()->increment("count", $incrementBy = 2);
        session()->decrement("countTwo", $decrementBy = 2);
        // regenerate() method will generate different different Tokens every time
        // regenerate() method is used for security purpose because every time different Tokens are generated so hackers will confuse and it will trouble for hackers
        session()->regenerate();

        // session()->flash("status","Session Saved Successfully.");
        // return redirect("/welcomeTwoPage");

        return redirect("/index");
       
    }
    public function deleteSession()
    {
        // session()->forget(["name", "class"]);
        // We can use flush() method to remove All Sessions simultaneously
        session()->flush();

        // invalidate() method is used for security purpose because every time different Tokens are generated so hackers will confuse and it will trouble for hackers
        // and invalidate() method removes all sessions. invalidate() method works same as regenerate() method.
        session()->invalidate();
        return redirect("/index");
    }
}
Above File is app\Http\Controllers\TestController.php File





Below File is routes\web.php File
<?php

use App\Http\Controllers\TaskController;
use App\Http\Controllers\TestController;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::controller(TestController::class)->group(function () {
    Route::get("/index", "index");
    Route::get("/store-session", "storeSession");
    Route::get("/delete-session", "deleteSession");
});
Route::get("/welcomeTwoPage", function () {
    return view("welcomeTwo");
});

Route::get("/form", function () {
    return view("adduser");
})->name("adduser");
Route::post("/add", [UserController::class, "addUser"])->name("addUser");

Route::get("/showAllTasks", [TaskController::class, "showTask"])->name("home.task");
Route::post("/checkValidate", [TaskController::class, "validateUser"])->name("validate.user");

Route::get("/singleTask/{id}", [TaskController::class, "singleTask"])->name("single.task");

Route::get("/updatePage/{id}", [TaskController::class, "updatePage"])->name("update.page");
Route::put("/updateTask/{id}", [TaskController::class, "updateTask"])->name("update.task");

Route::get("/delete/{id}", [TaskController::class, "deleteTask"])->name("delete.task");

Route::get("/addNew", function () {
    return view("adduser");
})->name("addNew");


// Route::get("/home", function() {
//     return view("home");
// })->name("home.task");




Comments

Popular posts from this blog

Eloquent Many to Many Relationship Tutorial in Laravel 11

Eloquent with JSON Data Columns Tutorial in Laravel 11

Blade Template Tutorial Three Template Inheritance in Laravel 11