[英]Laravel login form - email is not correct
當我嘗試使用 Laravel 中的表單登錄並保存 session 以重定向到主頁時,我總是收到一條消息,即所需的 email 不正確,即使它是正確的
這是 controller:
public function welcome (Request $request) {
{
$this->validate($request, [
'mail' => 'required|email',
'mdp'=> 'required'
]);
$patt= patient::orderBy('created_at','desc')->get() ;
foreach ($patt as $log )
{
if (( $log->Login== $request->input('mail') ) && ( $log->Password== $request->input('mdp') ))
{
$request->session()->put('log_in', true);
return redirect('index' , ['helloo'=>$log]);
}
return back()->withErrors([
'message'=> 'Emails or password not correct!'
]) ; }
}
Web.php:
Route::Post('/index' , 'patientcontroller@welcome')->name('rahmaa');
形式:
<form class="form-signin" method="post" action="{{route('rahmaa')}}">
@csrf
<input type="text" class="form-control" name="email" placeholder="Adresse mail" data-rule="email" autofocus="" /> </br>
<input type="password" class="form-control" name="mdp" placeholder="Mot de passe" data-rule="required"/>
<button class="btn btn-primary btn-block" type="submit"> Se connecter </button> <br>
<center> <a href="inscription"> Inscrivez-vous </a> </center>
</form>
之所以需要收到錯誤郵件,是因為您發送的是 email 而不是郵件。 只需將mail
更改為email
$this->validate($request, [
'email' => 'required|email',
'mdp'=> 'required'
]);
或將輸入name attribute
更改為mail
<input name="mail"/>
重寫你的 function
use Illuminate\Support\Facades\Hash;
....
public function welcome(Request $request)
{
$request->validate([
'email' => 'required|email',
'mdp' => 'required',
]);
// since email is unique. no need to grab all data
$patient = patient::where('Login', $request->input('email'))->first();
// if patient exists
if ($patient) {
// check hashed password
// assuming $patient->Password hashed
if (Hash::check($request->input('mdp'), $patient->Password)) {
$request->session()->put('log_in', true);
return redirect('index', compact('patient'));
}
}
return back()->withErrors([
'message' => 'Emails or password not correct!',
]);
}
您的 HTML 是<input type="text" class="form-control" name="email" />
輸入的名稱是“email”,在 php 中您正在搜索“mail”
'mail' => 'required|email',
它應該是:
<input type="text" class="form-control" name="mail" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.