title: Session data not preserved after redirection
body: <p>I'm trying to implement some custom flash messages and I'm having some issues with the session data being destroyed after a redirect.</p>
  
  <p>Here's how I create my flash messages : </p>
  
  <pre><code>flash('Your topic has been created.');
  </code></pre>
  
  <p>Here's the declaration of the <code>flash()</code> function : </p>
  
  <pre><code>function flash($message, $title = 'Info', $type = 'info')
  {   
      session()-&gt;flash('flash', [
          'message' =&gt; $message,
          'title' =&gt; $title,
          'type' =&gt; $type,        
      ]); 
  }
  </code></pre>
  
  <p>And here is how I'm checking the session/displaying the flash messages, using SweetAlerts. This code is included at the bottom of the main layout file that I'm extending in all my Blade templates.</p>
  
  <pre><code>@if(Session::has('flash'))
      &lt;script&gt;
          $(function(){
              swal({
                  title: '{{ Session::get("flash.title") }}',
                  text : '{{ Session::get("flash.message") }}',
                  type : '{{ Session::get("flash.type") }}',
                  timer: 1500,
                  showConfirmButton: false,           
              })
          });         
      &lt;/script&gt;
  @endif
  </code></pre>
  
  <p>The code above will work if I call the <code>flash()</code> function before displaying a view, like so : </p>
  
  <pre><code>public function show($slug)
  {
      flash('It works!');
      return view('welcome');
  }
  </code></pre>
  
  <p>However, it will not work if I call it before doing a redirect to another page, like so : </p>
  
  <pre><code>public function show($slug)
  {
      flash('It does not work');
      return redirect('/');
  }
  </code></pre>
  
  <p>Why is the session data lost on redirect? How can I make it persists so that I can display my flash message?</p>