Laravel 4显示flash消息不起作用

时间:2014-04-09 06:00:53

标签: php html laravel laravel-4

在我成功登录后,我试图显示一些Flash消息。有人可以帮我理解为什么没有显示?虽然我知道会议是真的吗?`

这是我的会话控制器:

 class SessionsController extends \BaseController {

    public function create()
    {
        return View::make('sessions.create');
    }


    public function store()
    {
        $attempt = Auth::attempt([
            'email' => $input['email'],
            'password' => $input['password']
        ]);

        if($attempt) return Redirect::intended('/')->with('flash_message', 'You have been logged in!');

        dd('problem');
    }



    public function destroy()
    {
        Auth::logout();

        return Redirect::home();
    }

}

以下是我应该显示消息的视图:

 <!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Yes</title>
</head>
<body>
    <main>
        @if(Session::get('flash_message'))
            <div class="flash">
                {{ Session::get('flash_message') }}
            </div>
        @endif

        <div class="container">
            @yield('content')
        </div>

    </main>
</body>
</html>

我也试过这个:

        @if(Session::get('flash_message'))
            <div class="flash">
                {{ Session::get('flash_message') }}
            </div>
        @else 
            <div class="flash">
                {{ Session::get('flash_message') }}
            </div>
        @endif

但是没有任何内容被显示出来,只是空洞的虚无,就像没有消息被解析到视图一样。

感谢您帮助我:)

1 个答案:

答案 0 :(得分:1)

store函数中,if之前,您应该添加:

Session::flash('flash_message', 'You have been logged in!');

这用于在会话中存储Flash数据。 with方法无法以您想要的方式运行。

然后在视图中:

@if(Session::has('flash_message'))
    {{ Session::get('flash_message') }}
@endif