[eluser]CroNiX[/eluser]
How would it be any different than how you create an account, except you are just updating the password field?
Form that shows fields:
-Enter EXISTING password
-Enter New Password
-Reenter New Password
Send result to controller.
Confirm the existing password matches for the current user and the 2 (new) passwords match
If they do, run MD5 on one and store the result
Code:
$data = array('password' => md5(set_value('new_password')));
$this->db
->where('user_id', $current_user_id)
->update('users', $data);
If not, display validation errors and have them do it again.
Edit: I would use something other than MD5 for hashing passwords.