2015-08-06 5 views
1

Я использовал тот же метод ниже для входа в систему.Laravel 5 ошибка входа

Но когда я случайно откатываю миграции, а затем делаю migrate, теперь я зарегистрировал пользователя успешно, но не могу войти в систему с правильными учетными данными.

код контроллера:

public function index() 
    { 
     $cred = Input::only('username','password'); 
     if(Auth::attempt($cred)){ 
      return Redirect::intended('index'); 
     }else{ 
      $error = "Username or password is incorrect."; 
      return Redirect::to('login'); 
     } 
    } 

Когда я ввожу правильные учетные данные. Страница входа в систему просто перезагружается.

+0

отладить значение $ cred, что он дает –

+0

Какая миграция вы откатывались - все? Вы снова создали пользователя после перенастройки миграции? –

+0

Да, я перевернул все и перевел, а также создал пользователя. – Gammer

ответ

1

Думаю, у вас есть немного вещей, чтобы исправить. если вы последуете за этим, я думаю, что он решит вашу проблему, если это не так, сообщите мне, чтобы я мог проверить это дальше:

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

Я полагаю, ваш индекс получить данные представить с, вам нужно передать имя пользователя, представленное значение или адрес электронной почты и пароль к контроллеру, как это:

public function index(Request $request) 

Ваш вход должен быть как массив, как:

$cred = array(
    'username' => $request->get('username'), 
    'password' => $request->get('password') 
); 

Не забудьте добавить use\Auth; в начало страницы, где другие, кроме namespace.

Другая вещь, которую следует помнить, заключается в том, что в Laravel 5 аутентификация по умолчанию использует адрес электронной почты, а не имя пользователя. Поэтому попробуйте изменить пользователя по электронной почте как:

'email' => $request->get('email'), 

Последняя вещь, вы можете сделать прямой тест, поставив свои данные для входа непосредственно в коде просто чтобы проверить, работает ли он, как:

'email' => '[email protected]', 
'password' => 'myPassword' 

и вы можете всегда var_dump результаты как

var_dump($cred); 

проверил ли вы, если созданы имя пользователя и пароль, который вы пытаетесь войти в систему с существующей в?

+0

Отличный ответ! Крутой мужик . – Gammer

+0

Добро пожаловать –

Смежные вопросы