在我成功登录后,我试图显示一些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
但是没有任何内容被显示出来,只是空洞的虚无,就像没有消息被解析到视图一样。
感谢您帮助我:)
答案 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