嗨我正在使用Laravel,我正在使用几个用户身份验证和Zizaco Confide角色,我想更新用户密码首先他们应该输入当前密码新密码并确认密码,他们应该匹配.现在验证工作,但用户密码未在数据库中更新.我的代码如下:
public function updatePassword($id) {
$rules = array(
'now_password' => 'required',
'password' => 'min:5|confirmed|different:now_password',
'password_confirmation' => 'required_with:password|min:5'
);
//password update.
$now_password = Input::get('now_password');
$password = Input::get('password');
$passwordconf = Input::get('password_confirmation');
$validator = Validator::make(Input::only('now_password', 'password', 'password_confirmation'), $rules);
if ($validator->fails()) {
return Redirect::back()->withErrors($validator);
}
elseif (Hash::check($now_password, Auth::user()->password)) {
$user = User::find($id);
$user->password = Hash::make($password);
$user->save();
return Redirect::back()->with('success', true)->with('message','User updated.');
} else {
return Redirect::back()->withErrors('Password incorrect');
}
}
Run Code Online (Sandbox Code Playgroud)
使用此代码块不会更新用户密码的原因
$user = User::find($id);
$user->password = Hash::make($password);
$user->save();
Run Code Online (Sandbox Code Playgroud)
<?php
use Zizaco\Confide\ConfideUser;
use …Run Code Online (Sandbox Code Playgroud)