mysql使用laravel php检查数据库中的用户名和密码是否匹配
我有一个小问题,当用户尝试登录,但用户名和密码不匹配,在表中如何返回到登录页面与错误信息 login.blade.phpmysql使用laravel php检查数据库中的用户名和密码是否匹配,php,mysql,laravel,Php,Mysql,Laravel,我有一个小问题,当用户尝试登录,但用户名和密码不匹配,在表中如何返回到登录页面与错误信息 login.blade.php <form class="login-box animated fadeInUp" action="valdateData" method="POST" > {{csrf_field()}} <div class="box-header"> <h2>Log In</h2> </di
<form class="login-box animated fadeInUp" action="valdateData" method="POST" >
{{csrf_field()}}
<div class="box-header">
<h2>Log In</h2>
</div>
<label for="username">Username</label>
<br/>
<input type="text" id="username" name="username">
<br/>
<label for="password">Password</label>
<br/>
<input type="password" id="password" name="password">
<br/>
<button type="submit">Sign In</button>
<br/>
<a href="#"><p class="small">Forgot your password?</p></a>
</form>
Route::post('/testgetvalue','OrdersController@GetValues');
Route::get('/ES','OrdersController@PrepareIndex');
Route::get('/loginForm','LoginController@ShowLoginPage');
Route::post('/valdateData','LoginController@checkValidate');
Route::post('login/{id}','LoginController@ShowErrorMassege');
public function ShowLoginPage()
{
return view('/loginForm');
}
public function checkValidate(Request $request)
{
$username=$request->input('username');
$password=$request->input('password');
$isVald=true;
$checkValdate = \DB::table('authentications')
->where(['username'=>$username,'password'=>$password])
->get();
if(count($checkValdate) > 0)
{
$isVald=true;
session()->set('UserValidate','true');
session()->set('username',$username);
//$value=session()->get('test');
// echo "session "+$value;
return redirect('/es');
} else {
return redirect('/login/'.$isVald);
}
}
LoginController.php
<form class="login-box animated fadeInUp" action="valdateData" method="POST" >
{{csrf_field()}}
<div class="box-header">
<h2>Log In</h2>
</div>
<label for="username">Username</label>
<br/>
<input type="text" id="username" name="username">
<br/>
<label for="password">Password</label>
<br/>
<input type="password" id="password" name="password">
<br/>
<button type="submit">Sign In</button>
<br/>
<a href="#"><p class="small">Forgot your password?</p></a>
</form>
Route::post('/testgetvalue','OrdersController@GetValues');
Route::get('/ES','OrdersController@PrepareIndex');
Route::get('/loginForm','LoginController@ShowLoginPage');
Route::post('/valdateData','LoginController@checkValidate');
Route::post('login/{id}','LoginController@ShowErrorMassege');
public function ShowLoginPage()
{
return view('/loginForm');
}
public function checkValidate(Request $request)
{
$username=$request->input('username');
$password=$request->input('password');
$isVald=true;
$checkValdate = \DB::table('authentications')
->where(['username'=>$username,'password'=>$password])
->get();
if(count($checkValdate) > 0)
{
$isVald=true;
session()->set('UserValidate','true');
session()->set('username',$username);
//$value=session()->get('test');
// echo "session "+$value;
return redirect('/es');
} else {
return redirect('/login/'.$isVald);
}
}
在这部分
return redirect('/login/'.$isVald);
如何返回带有错误消息的登录页面
谢谢
下面是一个如何执行的示例,具体取决于您的validatin规则。您还可以使用costum消息为每个错误定义部分,您还应该在控制器中使用“use Illumb\Support\Facades\Validator;”您使用的是php artisan make:auth?否我使用的是自定义表您可以使用
with()
函数<代码>返回重定向('/login/'.$isVald)->带有('status','Error message!')代码>然后您将在会话中拥有状态
。