Laravel flash message stays on page for more than one request
<p>Ok, so I'm currently building a blog at the moment, and on my add post page (the dashboard) I'm flashing a message with Javascript sweetalert and that works fine, but I'm including a link inside that to view the post you just wrote. When you click on it, and press the back button, the flash message shows again. And again. And again forever.</p>

<p>Here's my add post action in the controller:</p>

<pre><code>public function createBlogPost(Post $post, Request $request)
{
    $post = new Post;

    $post-&gt;title = $request-&gt;title;
    $post-&gt;slug = str_slug($post-&gt;title, '-');
    $post-&gt;thumbnail = $request-&gt;thumbnail;
    $post-&gt;content = $request-&gt;content;
    $post-&gt;save();

    $mostrecent = DB::table('posts')-&gt;orderBy('created_at', 'desc')-&gt;first();
    $mslug = $mostrecent-&gt;slug;
    $request-&gt;session()-&gt;put('mslug', $mslug);

    Session::flash('post_success', 'post success');
    return redirect('admin/dashboard');
    // I have tried Session::forget('post_success');
    //              Session::pull('post_success');
    //              Session::flush();
}
</code></pre>

<p>I really don't know what the problem is, but I'm fairly sure it must be to do with the redirect, as I can forget the key before redirecting and the message won't be flashed.</p>

<p>Any help would be greatly appreciated</p>

<p>( Ignore the bad PHP, I'm still pretty new to this stuff :P )</p>

<p>EDIT:
I'm including flash.blade.php down the bottom of my master file:</p>

<pre><code>@include('templates.flash')
</code></pre>

<p>And here is the flash file:</p>

<pre><code>@if (Session::has('post_success'))
&lt;script&gt;
    swal({
      title: 'Post created!',
      html:
        '&lt;p&gt;Check it out ' +
        '&lt;a href="/blog/{{ Session::get('mslug') }}"&gt;here&lt;/a&gt;.',
      type: 'success'
    })
&lt;/script&gt;
@endif
</code></pre>

<p>EDIT 2: My routes</p>

<pre><code>Route::get('admin/dashboard', [
    'as' =&gt; 'dashboard',
    'uses' =&gt; 'AdminController@dashboard'
]);

Route::post('admin/dashboard', [
    'as' =&gt; 'createblogpost',
    'uses' =&gt; 'AdminController@createBlogPost'
]);
</code></pre>