Laravel Flash数据无限期持续存在

时间:2016-12-13 12:53:15

标签: php laravel session

我正在使用flashdata显示表单提交的响应,但它永远存在。

例如,当表单经过验证并成功提交时,会显示成功消息,无论我刷新页面或转到其他页面多少次,它仍会显示成功消息。

我的重定向(验证后)如下:

// Redirect back with success message
return redirect()->back()
->with('form_' . $form->identifier . '_response', json_encode([
    'status' => 'success'
]));

在视图中,它会像这样检查:

@if(session('form_'.$form->identifier.'_response'))

        @if(json_decode(session('form_'.$form->identifier.'_response'),true)['status'] == 'success')

            <div class="alert alert-success">Form has been submitted, thank you!</div>

        @endif
@endif

但它首次提交后一直显示成功div。有谁知道在哪里寻找问题?谢谢!

1 个答案:

答案 0 :(得分:0)

我发现它不是在其中一个控制器中包含 <style> {{ source('/Bundle/Resources/public/css/'~var~'/main.css', ignore_missing = true) }} </style> 中间件,这是一个愚蠢的错误。

表单处理程序控制器包含web中间件,因此它会设置会话,但显示表单的控制器没有该中间件,因此它不会从会话中删除闪存数据。