我试图在laravel 5.4中更改密码它已成功更改但在此之后当我尝试使用新密码再次登录时,它会抛出错误凭据不匹配。
这是我的代码 -
public function UpdatePassword(Request $request)
{
$this->validate($request, [
'old_password' => 'required',
'password' => 'required|string|min:6|confirmed',
]);
$old_password = $request->old_password;
if (Hash::check($old_password, Auth::user()->password)) {
# code...
Auth::user()->update(['password'=>bcrypt($request->new_password)]);
return back()->with('message','password chnaged successfully.');
} else {
# code...
return back()->with('message_error','Please Enter Correct Old Password.');
}
}
请让我知道代码有什么问题?
答案 0 :(得分:0)
您已在密码验证中使用confirmed
。您需要将password
或password_confirmation
传入更新功能,而不是new_password
Auth::user()->update(['password'=>bcrypt($request->password_confirmation)]);
答案 1 :(得分:0)
'bcrypt
'新密码然后更新。
$password = bcrypt(Input::get('password'));
$user = User::where('email', $request->email)->first();
if ($user) {
$user->password = $password;
$user->save();
}
希望这对你有所帮助。