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 FileBelow 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");
.png)
.png)
.png)
Comments
Post a Comment