Обновите пароль и соль в базе данных при смене пароля в codeigniter - PullRequest
0 голосов
/ 27 мая 2019

У меня есть форма для изменения текущего пароля.Когда я обновляю старый пароль новым паролем, я не могу войти в систему, потому что я использую пароль и безопасную регистрацию, теперь я не знаю, как изменить соль при смене пароля.

Воткод моего взгляда:

<div class="form-group">
                        <label class="col-sm-2 control-label">New Password <span class="required">*</span></label>
                        <div class="col-sm-10">
                            <input type="password" name="new_password" id="new_password" class="form-control" required />
                            <span class="error_message"></span>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label">Confirm Password <span class="required">*</span></label>
                        <div class="col-sm-10">
                            <input type="password" name="confirm_password" id="confirm_password" class="form-control" required />
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="col-sm-4 col-sm-offset-2">
                            <button class="btn btn-primary" type="submit" name="submit" value="submit">Submit</button>
                        </div>
                    </div>

код контроллера:

public function index() {
    $this->admin_view('changepassword');
    if ($this->input->post('submit')) {
        $users_id = $this->session->userdata('users_id');
        $new_pwd = md5($this->input->post('new_password'));
        $change_password = $this->login_model->change_password($users_id,$new_pwd);
        //print_r($new_pwd);exit();
        if ($change_password) {
            $this->session->set_flashdata('success_message', "'Password Changed.'");
            $this->admin_view('changepassword');
        }
   }
}

код модели:

public function change_password($id,$new_pwd){

    $data = array('password' => $new_pwd);

    $this->db->where('roles_id',$id);

    $this->db->update('users', $data);

    return true;

}
...