大家好 我的问题是我们如何验证我们的电子邮件和密码在laravel 5.3? 这里我不使用验证,我想创建手动
登录系统这是用户注册方法
public function post_register(Request $request){ $this->validate($request , [ 'username' => 'required|' , 'email' => 'required|email|unique:registers' , 'password' => 'required|min:6', 'cp' => 'required|same:password']); $data = new Register; $data->username = $request->username; $data->email = $request->email; $data->password = bcrypt($request->password); $data->save(); return Redirect::back()->with('success' , 'user registred'); }
这是登录方法
如何使用laravel 5.3手动验证电子邮件和密码?
public function post_login(Request $request){
$this->validate($request , [
'email' => 'required|email' ,
'password' => 'required']);
$data = Register::where('email' , $request->email)->exists();
if($data){
Session::put('email' , $request->email);
return Redirect::to('profile');
}
else{
return Redirect::to('login');
}
此代码工作,但问题是,如果我输入注册的电子邮件和未注册的密码,那么它重定向到个人资料页面。 我不能够因为我在密码中使用bcrypt()散列函数与电子邮件和密码来验证用户,当我尝试匹配与存储密码的HTTP请求时,它显示错误 请帮我,谢谢
您可以在登录时对密码进行加密,然后检查它是否正确?如果我理解正确,唯一出错的是密码检查。 – Loek
那我现在该做什么?我如何检查电子邮件和密码? –
您可以重写您的查询以检查电子邮件和密码,或者获取用户和手动检查数据库中的密码和请求匹配。 'if(data) - > if(bcrypt(request-> password)=== $ data-> password' in pseudocode – Loek