Saving the password encrypted is always a good idea because it gives your users a layer of protection if your database security is compromised.
Are your users able to log in at all? I do not completely understand your problem. One approach would have the users enter their old password for validation and also the new one, then change the password to the new encrypted password.
Something like:
$sql="
update table users
set password = '".crypt($newPass, $salt) ."'
where user_id=$user_id
and password='". crypt($oldPass, $salt).'";
I think that's right. I use my own functions so I might be memory challenged, but I think that is valid PHP syntax.