Перенаправление после входа пользователя с помощью модальной формы на Laravel - PullRequest
0 голосов
/ 14 апреля 2019

Вместо одной страницы входа я использую модал для входа пользователя. Я хочу перенаправить зарегистрированного пользователя на страницу, где открыта модальная форма.

Я попытался изменить LoginController с помощью return Redirect::back();, но он вернул сообщение "Заголовок не может содержать более одного заголовка, обнаружена новая строка".

Это мой модифицированный LoginController.php

protected function redirectTo()
{
    return Redirect::back();
}

Может быть, я следую совершенно неправильным способом сделать это. Так что я открыт для любых предложений. Заранее спасибо за ответы.

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

В вашем App\Http\Controllers\Auth\LoginController

Переопределите функцию authenticated следующим образом:

protected function authenticated(Request $request, $user) {
    return redirect('/'.$request->path());
}

$request->path() будет получать путь к источнику запроса.

@ Изменить, чтобы увидеть комментарий владельца в другом ответе

Чтобы также получить параметр url, например /...?p=477. Вы можете отредактировать вашу модальную форму аутентификации, чтобы иметь этот скрытый ввод:

<input type="hidden" name="current_page" value="{{Request::getRequestUri()}}">

Таким образом, в вашем App\Http\Controllers\Auth\LoginController

Переопределить функцию authenticated следующим образом:

protected function authenticated(Request $request, $user) {
    return redirect($request['current_page']);
}

Надеюсь, это поможет

0 голосов
/ 14 апреля 2019

Не делай Redirect::back(), просто используй redirect('/your_page_where_modal_appears')

...