Cita: $sql = "UPDATE user SET pass='$npass' WHERE login='$usuario'";
Segun tu consulta, tu tabla se llama
user, tu campo contraseña se llama
pass,y editas el usuario cuyo
login sea igual al nombre de usuario guardado en la cookie?
Es esto correcto? Si es asi, prueba con el or die(mysql_error()) a ver si la consulta se ejecuta satisfactoriamente. Si lo hace, trata haciendo un var_dump() de tus variables ANTES de usarlas en la consulta para ver que valor traen.