注册成功后显示消息

时间:2017-02-19 12:41:00

标签: laravel laravel-5.3

我不想在注册后登录用户,但会重定向他们的登录页面。到目前为止,我成功覆盖了RegisterController中的Register()。

public function Register(Request $request)
    {
        $validator = $this->validator($request->all());

        if ($validator->fails()) {
            $this->throwValidationException(
                $request, $validator
        );
        }

        return redirect('/login')->with('message','Successfully Registered');
    }

但成功信息没有出现。当我直接回到视图时:

return view('auth.login')->with('message','Successfully registered');

在登录页面中正确显示了消息,但是网址是/register这意味着在我尝试登录后,它会转到注册表单吗?这样做的实际解决方案是什么?

4 个答案:

答案 0 :(得分:1)

将此代码写入此消息必须显示的视图中:

{{ Session::get('message'`) }}

答案 1 :(得分:1)

Flash会话:

$request->session()->flash('message', 'content');

然后检查会话是否存在:

session()->has('message')

如果它确实显示session()->get('message')

答案 2 :(得分:0)

首先在Register函数中进行重定向之前先给出以下信息:

    session()->flash('success', 'You have Successfully Registered'); 
    return redirect('/login');

然后将以下语句放入视图中以获取消息:

   {{Session::get('success')}}

答案 3 :(得分:0)

在Laravel 5.4中,您可以覆盖RegisterController中的registered()方法,以将消息刷新到会话中。

/**
 * The user has been registered.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  mixed  $user
 * @return mixed
 */
protected function registered(Request $request, $user)
{
    $request->session()->flash('notification', 'Thank you for subscribing!');
}

然后,您可以使用session()帮助器在视图中显示消息。

@if (session()->has('notification'))
    <div class="notification">
        {!! session('notification') !!}
    </div>
@endif