拉拉维尔 5 闪光消息不断出现


Laravel 5 flash message keep appearing

我在用户成功(或失败)创建文章后使用flash进行用户反馈。我使用的是 PHP 版本 5.5.27。这是我在控制器中的存储功能:

public function store(ArticleRequest $request)
{
    $data = $request->all();
    Article::create($data);
    Flash::message('Article Created!');
    return redirect ('articles');
}

在我看来.php这是app.blade

<div class="container">
@include('flash::message')
@yield('content')

无论我导航到何处,闪烁消息都会不断出现。但是如果我从我的应用程序中注销用户,闪光灯就会消失。我尝试使用原始的会话::消息,它仍然是一样的。我还尝试了Laravel 5闪光消息中的所有解决方案,在导航离开并使用后退按钮后再次闪烁,但它仍然没有解决我的问题。但是当我尝试创建一个新的新拉拉维尔项目时,它确实工作得很好。在这个问题之前,我遇到了TokenMismatchException,并通过编辑VerifyCsrfToken.php文件来修复它,如下所示:

public function handle($request, Closure $next)
{
    //return parent::handle($request, $next);
    $response = $next($request);
    if (last(explode('''',get_class($response))) != 'RedirectResponse') {
        $response->header('P3P', 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
    }
    return $response;
}

此问题是否与VerifyCsrfToken.php文件有关?我该如何解决这个问题?任何帮助将不胜感激

我更喜欢这样使用:

在控制器中:

'Session::flash('key', 'value');

鉴于 :

@if('Session::has('key')
 // Include blade file or :
 {{ 'Session::get('key') }}
@endif

在拉拉维尔文档中:

有时,您可能希望仅在会话中存储项目以用于下一个请求。您可以使用闪存方法执行此操作。使用此方法存储在会话中的数据仅在后续 HTTP 请求期间可用,然后将被删除。Flash 数据主要用于短期状态消息:

$request->session()->flash('status', 'Task was successful!');

'Request::session()->flash()

试试这种方式。