【问题标题】:Session not working on Laravel 5会话在 Laravel 5 上不起作用
【发布时间】:2015-09-01 20:30:08
【问题描述】:

我正在尝试让会话在 Laravel 5 上运行,但它似乎不起作用。我遵循了文档的this 部分,但我可以获得要显示的数据。这是我的控制器代码:

public function store($id)
{
        // some code
        return redirect('/')->with('err', 'The error.');


        } 

视图中的代码:

@if (session('err'))
<div class="alert alert-danger">
    {{ session('err') }}
</div>
@else
<p>Doesnt work</p>
@endif

所以出现了“不起作用”段落。我尝试了各种缓存设置(文件、Redis 等),但似乎没有任何效果。有什么想法吗?

【问题讨论】:

    标签: php session laravel blade


    【解决方案1】:

    你想做的是这样的:

    使用您的代码。

    控制器

    public function store($id)
    {
        // some code
        return redirect('/')->with('err', 'The error.');
    } 
    

    查看

    @if ($err)
        <div class="alert alert-danger">
            {{ $err }}
        </div>
    @else
        <p>Doesn`t work</p>
    @endif
    

    使用 Session::flash();

    控制器

    public function store($id)
    {
        Session::flash('err', 'The error.');
        return redirect('/');
    } 
    

    查看

    @if (session('err'))
        <div class="alert alert-danger">
            {{ session('err') }}
        </div>
    @else
        <p>Doesn`t work</p>
    @endif
    

    【讨论】:

    • 好的,我试过这个没有成功,但我找到了解决方案。我会把它贴在这里作为答案。
    【解决方案2】:

    我找到了解决方案。似乎会话数据在重定向中丢失了。我所要做的就是将它包含在目标控制器中:

    $request->session()->reflash();
    

    感谢您的帮助!

    【讨论】:

      【解决方案3】:

      你也可以在重定向前加一行
      session::save();

      【讨论】:

        猜你喜欢
        • 2015-06-03
        • 2015-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-20
        • 2016-09-06
        • 2017-02-27
        • 2018-07-02
        相关资源
        最近更新 更多