视图中没有会话变量 - Laravel 5.1

时间:2016-04-19 16:08:16

标签: php session view laravel-5.1

我试图使用Laravel 5.1中的Session :: flash()方法在登录页面上显示错误。

在我看来,我正在使用:

return Redirect::route('login')->withErrors($validator)->withInput();

在我的控制器中:

$errors

  1. 在将错误重定向到此页面时,我没有从Input :: old()方法中获取任何内容。

  2. 重新加载时dd($validator);变量为空。

  3. 如果我return Redirect::route...Session::put之前,则$ validator中包含数据:

    enter image description here

    但是当页面加载时,没有任何反应。

    我可以尝试composer但是,在获取视图时没有任何反应。

    可能有什么不对? php artisanValueAnimator中是否有可能重置此问题的内容?

2 个答案:

答案 0 :(得分:0)

composerphp artisanSession无关。

您没有看到Session::flash消息,因为您没有检索它。

要从Session::flash检索邮件,您需要使用以下内容:

@if(Session::has('your_flash_message_key'))
    <div class="alert alert-danger">
        <div>{{ Session::get('your_flash_message_key') }}</div>
    </div>
@endif

转到$errors上的观看代码,尝试用此替换@if

@if (count($errors) > 0)
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

在显示验证错误消息的Laravel's Official Documentation中,它仅显示上述代码。

希望这会帮助你。快乐的编码。欢呼声。

答案 1 :(得分:0)

对于遇到此问题的任何人,我如何解决这个问题的方法是将.env文件从SESSION_DRIVER=array更改为SESSION_DRIVER=file

相关问题