Почему попытка входа в Laravel перенаправляет обратно на страницу входа? - PullRequest
0 голосов
/ 31 мая 2019

Laravel перенаправляет меня обратно на страницу входа после каждой попытки входа. Как мне исправить эту проблему?

Я попытался изменить сессию с «файла» на «базу данных» и очистить весь кэш (как в браузере, так и в laravel, но он все еще перенаправляется обратно на страницу входа)

Вот веб-маршрут:

 // Login
 Route::post("/profile/dashboard","LoginController@login")->name('login');

Вот мой контроллер:

    public function login(Request $req)
    {
        // validate form
       $req->validate([
            "email" => "required|email|max:255",
            "password" => "required|max:16",
        ]);

        $user = ["email" => $req->email, "password" => $req->password];

        // Attempt to login
        if (!Auth::attempt($user)) {

            return back();

        }
        // Redirects to dashboard
        return redirect()->route('dashboard');
    }

Извините за плохое форматирование. Вот мой взгляд:

   <form action="{{ url("/profile/dashboard") }}" 
        method="post" class="user">
        {{ csrf_field() }}
        <div class="form-group">
          <input type="email" name="email" id="email" class="form-control 
          form-control-user" aria-describedby="emailHelp"   placeholder="Enter Email Address...">
                          <label class="error" for="email">
                            @include("pages.errors.email")
                          </label>
                        </div>
                        <div class="form-group">
                          <input type="password" name="password" id="password" class="form-control form-control-user" placeholder="Password">
                          <label class="error" for="password">
                            <label class="error" for="password">
                              @include("pages.errors.password")
                            </label>
                          </label>
                        </div>
                        <div class="form-group">
                          <div class="custom-control custom-checkbox small">
                            <input type="checkbox" class="custom-control-input" id="customCheck">
                            <label class="custom-control-label form-check-label" for="customCheck">Remember Me</label>
                          </div>
                        </div>
                        <button type="submit" class="btn btn-outline-success btn-user btn-block text-uppercase">Login</button>
                        <hr>
    <a href="index.html" class="btn  btn-danger btn-google 
     btn-user btn-  block text-uppercase">
                          <i class="fab fa-google"></i> Login with Google
                        </a>
  </form>

Не думаю, что это поможет, но мой сеанс настроен на базу данных:

   'driver' => env('SESSION_DRIVER', 'database'),

Ошибка не возникла. Он перенаправляет обратно на страницу входа без какой-либо ошибки.

1 Ответ

1 голос
/ 31 мая 2019

https://laravel.com/docs/5.8/validation#quick-displaying-the-validation-errors

Итак, что если параметры входящего запроса не соответствуют заданным правилам проверки? Как упоминалось ранее, Laravel автоматически перенаправит пользователя обратно на прежнее место. Кроме того, все ошибки проверки автоматически будут мигать в сеансе.

Поскольку вы не отображаете переменную $errors, вы не получаете никакой полезной обратной связи. Попробуйте показать значение $errors->all() в вашей форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...