簡體   English   中英

為什么Laravel登錄嘗試會重定向回到登錄頁面?

[英]Why does Laravel login attempt redirects back to the login page?

每次嘗試登錄后,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'),

沒有錯誤產生。 它將重定向回登錄頁面,而不會出現任何給定的錯誤。

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

那么,如果傳入的請求參數未通過給定的驗證規則怎么辦? 如前所述,Laravel將自動將用戶重定向回其先前的位置。 此外,所有驗證錯誤將自動閃爍到會話中。

由於您沒有顯示$errors變量,因此不會得到任何有用的反饋。 嘗試在表單中顯示$errors->all()的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM