更改密码不在laravel 5.4中工作

时间:2017-09-06 10:00:22

标签: laravel laravel-5.4 change-password

我试图在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.');
      }


    }

请让我知道代码有什么问题?

2 个答案:

答案 0 :(得分:0)

您已在密码验证中使用confirmed。您需要将passwordpassword_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();
     }

希望这对你有所帮助。