2017-09-06 121 views
0

我試圖改變密碼laravel 5.4它成功改變,但之後,當我想再次用新密碼登錄它引發錯誤憑據不匹配。更改密碼不工作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

不應'bcrypt($ request-> new_password)]'bcrypt($ request-> password)]'? – linktoahref

回答

0

您已在密碼驗證中使用confirmed。您需要在passwordpassword_confirmation通入更新功能,而不是new_password

Auth::user()->update(['password'=>bcrypt($request->password_confirmation)]);

0

bcrypt」的新密碼,然後對其進行更新。

$password = bcrypt(Input::get('password')); 
    $user  = User::where('email', $request->email)->first(); 
    if ($user) { 

     $user->password = $password; 
     $user->save(); 
    } 

希望這會對你有所幫助。