Laravel:要查看的会话数据

时间:2016-05-25 13:08:09

标签: php laravel laravel-5.2

我有以下代码,其中我正在检查错误。

<div class="alert alert-danger {{ (\Session::has('message') && \Session::get('form', 'login') == 'login') ? '' : 'display-hide' }}">
    <button class="close" data-close="alert"></button>
    <span>
        {!! \Session::has('message') ? \Session::get('message') : 'Please correct your fields.' !!}
    </span>
</div>

在控制器方面我有:

return redirect()
        ->back()
        ->with('message', 'Incorrect email or password.')
        ->with('form', 'login')
        ->withInput(\Input::except('password'));

事情是消息没有显示在那里。

只需刷新页面,就不会显示任何消息。

有什么想法吗?我错过了什么吗?

3 个答案:

答案 0 :(得分:1)

只需在视图上使用\Session::pull('message')代替\Session::get('message')

就这么简单。

答案 1 :(得分:0)

在您的控制器

return redirect()
        ->back()
        ->with('message', 'Incorrect email or password.')
        ->with('form', 'login')
        ->withInput(\Input::except('password'));

在你的视图中

@if(Session::has('message')  && Session::has('form'))
<div class="alert alert-dismissable alert-success">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
{!! Session::get('message') !!}
</div>
</span>
@endif

注意:您可以在条件中拥有自己的html,根据自己的需要抛出信息并修改条件。

答案 2 :(得分:0)

正如laravel 5.2 documentation所说

<div class="alert alert-danger {{ (session('message') && session('form') === 'login') ? '' : 'display-hide' }}">
    <button class="close" data-close="alert"></button>
    <span>
        {!! session('message') ? session('message') : 'Please correct your fields.' !!}
    </span>
</div>

                        //OR

return redirect()
    ->back()
    ->with('message', 'Incorrect email or password.')
    ->with('form', 'login')
    ->with('classType', 'display-hide')
    ->withInput(\Input::except('password'));



<div class="alert alert-danger {{ session('classType') or '' }}">
    <button class="close" data-close="alert"></button>
    <span>
        {{ session('message') or 'Please correct your fields.' }}
    </span>
</div>