Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

shahr's avatar
Level 10

How to set the session value when the link is clicked?

When these links are clicked, we have to enter the mobile number and get the confirmation code, and then enter the desired form. that's mean:

Click on the training menu = enter mobile number > enter verification code > open training form.

Click on the shopping menu = enter mobile number > enter verification code > open shopping form.

Click on the services menu = enter mobile number > enter verification code > open services form.

Click on the counseling menu = enter mobile number > enter verification code > open counseling form.

My question is how to set the session value when the link is clicked

register

app.blade.php

@if (Route::has('register'))
    <li class="nav-item dropdown">
        <a id="register" class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Register
        </a>
        <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="register">
            <li><a class="dropdown-item" href="{{ route('register') }}" {{ request->session()->put('training', 'training') }}>Training</a></li>
            <li><a class="dropdown-item" href="{{ route('register') }}" {{ request->session()->put('shopping', 'shopping') }}>Shopping</a></li>
            <li><a class="dropdown-item" href="{{ route('register') }}" {{ request->session()->put('service', 'service') }}>Service</a></li>
            <li><a class="dropdown-item" href="{{ route('register') }}" {{ request->session()->put('counseling', 'counseling') }}>Counseling</a></li>
        </ul>
    </li>
@endif

web.php

Route::middleware('training')->group(function () {
    Route::get('/training', [App\Http\Controllers\Auth\RegisterController::class, 'training'])->name('training');
    Route::get('/training/store', [App\Http\Controllers\Auth\RegisterController::class, 'trainingStore'])->name('training.store');
});

Route::middleware('shopping')->group(function () {
    Route::get('/shopping', [App\Http\Controllers\Auth\RegisterController::class, 'shopping'])->name('shopping');
    Route::get('/shopping/store', [App\Http\Controllers\Auth\RegisterController::class, 'shoppingStore'])->name('shopping.store');
});

Middleware/Shopping.php

public function handle(Request $request, Closure $next)
{
    if ($request->session() == 'shopping') {
        redirect()->route('shopping');
    }
    return $next($request);
}

Middleware/Training.php

public function handle(Request $request, Closure $next)
{
    if ($request->session() == 'training') {
        redirect()->route('training');
    }
    return $next($request);
}

Ok, Now how to get a session in the training.blade.php file?

0 likes
5 replies
phonedaddy's avatar

Set values to session from Textbox controls: Session["UserName"] = UserNameTextBox. Text; Session["Password"] = PasswordTextBox. Hy do you know about phonedaddy ? they are giving used iPhone XR in cheap price.

shahr's avatar
Level 10

@phonedaddy

public function showRegistrationForm()
{
   SESSION('') = home;
    return view('auth.register');
}
Akash_kushwaha's avatar

You can use URL::previous() function to set session accordingly.

	Session::put('url.intended',URL::previous());
	

return redirect(Session::get('url.intended'));

Please or to participate in this conversation.