Как я могу перенаправить со старым входом в Laravel?
У меня есть мода входа. Когда вход пользователя в систему завершит аутентификацию, я хочу перенаправить обратно этот модальный код с помощью
- сообщение об ошибке
- и старый вход (ы).
![enter image description here]()
Controller
// if Auth Fail
return Redirect::to('/')
->with('error','Username/Password Wrong')
->withInput(Request::except('password'))
->withErrors($validator);
Форма
{!! Form::open(array('url' => '/', 'class' => 'login-form')) !!}
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name="username" placeholder="Enter Username" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Enter Password" required>
</div>
<button type="submit" class="btn btn-primary">Login</button>
{!! Form::close() !!}
Как вы можете видеть как часть моего изображения, появляется сообщение об ошибке, но старый ввод имени пользователя, похоже, не заполняется.
Кто-то может меня поправить?
Забыл ли я что-нибудь сделать?
Какой самый эффективный способ в Laravel выполнить что-то подобное?
Ответы
Ответ 1
Вы можете получить доступ к последним входам следующим образом:
$username = Request::old('username');
Как указано в @Arian Acosta, вы можете просто сделать
<input type="text"... value="{{ old('username') }}"... >
.
Как описано в документах, это более удобно в виде лезвия.
В контроллере есть несколько возможностей:
Вместо ->withInput(Request::except('password'))
делать:
a) Input::flash();
или же:
b) Input::flashExcept('password');
и перенаправлять на представление с помощью:
a) ->withInput(Input::except('password'));
соответственно с:
b) ->withInput();
Документы о " Вводном входе" для дальнейшего чтения...
Ответ 2
Вам не хватает значения для вашего элемента ввода...
value="{{ Input::get ('username', '') }}"
Ответ 3
Для моего проекта мне нужен был другой способ:
Выполните запрос GET
в возврате валидации, чтобы получить некоторые предыдущие данные:
// if the validator fails, redirect back to the form
if ($validator->fails()) {
//let send some data back (Orlando,Florida):
return Redirect::to('auth/register?city=Orlando&State=Florida')
->withErrors($validator)
}else{
//validation success
}