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

rubenochoa's avatar

Message session for login showing and logout not

Here is my code at blade:

@if(Session::has('success'))
            <div class="alert alert-success" role="alert">
                {{ Session::get('success') }}
            </div>
            @else
                @if(Session::has('logout') && !empty(Session::get('logout')))
                    <div class="alert alert-info" role="alert">
                        {{ Session::get('logout') }}
                    </div>
                @endif
                

LoginController

class LoginController extends Controller
{
   
    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = 'home';

    protected function redirectTo()
    {
        Session::flash('success', 'You are now signed in!'); 
        return '/';
    }
       
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        Session::flash('logout', 'You are now logged out!');
        $this->middleware('guest')->except('logout');
    }
    
}
0 likes
7 replies
jlrdw's avatar

A logout destroys the session.

Snapey's avatar

why would you flash "you are logged out" in the constructor of the login controller?

rubenochoa's avatar

@Snapey Was a try. Also tried to create LogoutController by this code:

class LogoutController extends Controller
{
    public function logout(Request $request, Guard $auth)
    {
        $auth->logout();
        $request->session()->flash('logout', 'You are now logged out!');
    
        return redirect('/');

    }
}
rubenochoa's avatar

@Snapey yes:

........................................................................................................................................................................................................... logout › Auth\LoginController@logout  
  GET|HEAD  logout .......................................................................................................................................................................................................... logout › Auth\LogoutController@logout 
rubenochoa's avatar
rubenochoa
OP
Best Answer
Level 2

The problem solved by using a new function logout:

public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
    public function logout()
    {
        auth()->logout();
        return redirect('/')->with('success', 'You have successfully logged out.');
    }

Please or to participate in this conversation.