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

t0berius's avatar

laravel5.3 get session data not working

Working with sessions I'm not able to perform a check on these data:

        if ($request->session()->has('completed') &&  $request->session()->get('completed') == "true" ) {
            dd("alarm");
        }
   else
   {    
         $request->session()->put('client', 'desktop');
            $request->session()->put('completed', "true");
            dd($request->session()->all());
     }

I can run this code as long as I like to, I never get an output saying "alarm". Any idea where I do wrong?

0 likes
3 replies
bobbybouwmann's avatar

You never let your application finish it's request, so it won't be able to write that session.

Try this instead, it will dump the info, but keeps your application running.

if ($request->session()->has('completed') &&  $request->session()->get('completed') == "true" ) {
    dump('alarm');
} else {
    $request->session()->put('client', 'desktop');
    $request->session()->put('completed', "true");

    dump($request->session()->all());
}
1 like
t0berius's avatar

@bobbybouwmann

Thanks, this solved my "debug" problem, but my main problem is, I use a middleware, now how can I return the view from this middleware. Using this middleware to perform the check I only get a white page displayed:

public function handle($request, Closure $next)
{
    //user has already completed the submit process
    if ($request->session()->has('completed') &&  $request->session()->get('completed') == "true" ) {
        return view('completed',[
            ]);
    }

    return $next($request);
}
bobbybouwmann's avatar

Why do you want to return a view from your middleware? It sounds to me that you have an architecture issue here

Please or to participate in this conversation.