为什么Laravel登录尝试会重定向回到登录页面?

时间:2019-05-31 13:05:01

标签: php laravel-5

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 个答案:

答案 0 :(得分:1)

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

  

那么,如果传入的请求参数未通过给定的验证规则怎么办?如前所述,Laravel将自动将用户重定向回其先前的位置。此外,所有验证错误都将自动刷新到会话中。

由于您没有显示$errors变量,因此没有任何有用的反馈。尝试在表单中显示$errors->all()的值。