我在Laravel 5.2上创建了一个电子邮件验证。当用户填写注册表并经过验证后,他们会将用户返回到登录表单:
return redirect('/login')->with('status','We send a email verification, please
confirm.');
这很完美。问题是当用户点击其收件箱中的链接验证时,他们激活了帐户并重定向到管理页面但没有状态消息。以下是AuthController.php中的代码:
public function activateUser(Request $request,$token)
{
if ($user = $this->activationService->activateUser($token)) {
return redirect('/login')->with('status','You account is now activated. Please login.');
}
abort(404);
}
在我的login.blade.php上:
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
请知道为什么会话变量不起作用?
感谢。
答案 0 :(得分:0)
Okey我不知道这里发生了什么,为什么redirect() - &gt; with()不起作用。我解决了一个名为activated.blade的新视图的login.blade副本,但是有一条消息说:&#34;您的帐户现已激活。请登录。&#34;所以我在控制器中这样做:
返回重定向(&#39; /激活&#39;);
答案 1 :(得分:0)
它应该像这样工作。在AuthController
中,只需更改
return \Redirect::to('/login')->with('status','You account is now activated. Please login.');
并在login.blade
@if (Session::has('status'))
<div class="alert alert-success" role="alert">
<p>{{ Session::get('status') }}</p>
</div>
@endif