I am trying to return a view with a success message with a link to the login page after registering a user, however the session message isn’t passed along with the view.
Here is my registred() method
protected function registered(Request $request, $user)
{
return view('frontend.pages.register-success')->with('message', 'Your registration was successful. Click the button below to login to your account');
}
Here is the view page
@extends('frontend.layouts.main')
@section('title', 'Registration successful')
@section('content')
<!-- Main Content -->
<div id="main-content" class="site-main clearfix">
@if (Session::has('message'))
<section class="popup">
<div class="popup-inner">
<div class="popup-content">
<div class="img">
<img src="assets/img/popup/popup.jpg" alt="Image">
</div>
<div class="content text-center">
<p class="">{{ Session::get('message') }}</p>
<h6 class="heading">REGISTRATION SUCCESSFUL!</h6>
<a href="{{ route('login') }}" class="button color-2 login-submit">LOGIN TO YOUR ACCOUNT</a>
</div>
</div>
</div>
</section>
@endif
</div><!-- /#main-content -->
@endsection
Advertisement
Answer
We can use session() global helper instead of Session:
// flash message create
session()->flash('message', 'This is a message!');
session()->flash('alert-class', 'alert-danger');
get flash message by key from your blade file
@if(session()->has('message'))
<section class="popup">
<div class="popup-inner">
<div class="popup-content">
<div class="img">
<img src="assets/img/popup/popup.jpg" alt="Image">
</div>
<div class="content text-center">
<p class="">{{ session('message') }}</p>
<h6 class="heading">REGISTRATION SUCCESSFUL!</h6>
<a href="{{ route('login') }}" class="button color-2 login-submit">LOGIN TO YOUR ACCOUNT</a>
</div>
</div>
</div>
</section>
@endif