Вы можете просто переопределить метод register()
, найденный в Illuminate\Foundation\Auth\RegistersUsers
.
Поскольку App\Http\Controllers\Auth\RegisterController
использует эту черту, вы переопределите метод там. Оригинальный метод, найденный в признаке, заключается в следующем.
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
$this->guard()->login($user);
return $this->registered($request, $user)
?: redirect($this->redirectPath());
}
Вы бы заменили его на:
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
return back()
->with('success', 'An account has been created successfully');
}
Как видите, вместо того, чтобы входить в систему и перенаправлять его после создания учетной записи для него, мы просто собираемся создать его учетную запись и вернуться к форме.
Вы также можете проверить, имеет ли сеанс клавишу success
, и отобразить сообщение соответствующим образом.
Изменить: Если вы хотите перенаправить обратно на домашнюю страницу, вы должны сделать что-то вроде этого:
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
return redirect('/')
->with('success', 'An account has been created successfully');
}
и для отображения сообщения вам необходимо иметь это в своем блейд-файле.
@if(Session::has('success'))
{{ Session::get('success') }}
@endif