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'),
未生成错误。它会重定向回登录页面,而不会出现任何给定的错误。
答案 0 :(得分:1)
https://laravel.com/docs/5.8/validation#quick-displaying-the-validation-errors
那么,如果传入的请求参数未通过给定的验证规则怎么办?如前所述,Laravel将自动将用户重定向回其先前的位置。此外,所有验证错误都将自动刷新到会话中。
由于您没有显示$errors
变量,因此没有任何有用的反馈。尝试在表单中显示$errors->all()
的值。