Hola a todos,
No tengo gran experiencia en web pero lo que me pasa me tiene intrigadísimo...
Tengo un formulario para que el usuario pueda modificar su password una vez haya iniciado sesión. El formulario postea los datos al siguiente php:
//Conecta con la base de datos
include "../conexion.php";
//Variables importantes
$claveactual = $_POST['claveactual'];
$nuevaclave = $_POST['nuevaclave'];
$usuario = $_SESSION['username'];
// Conecta con la tabla de usuarios
$sql_usuario = "SELECT IDCliente, NombreUsuario, ClaveUsuario "
. "FROM tbl_clientes "
. "WHERE NombreUsuario = '" . $usuario . "'";
$res_sql=mysql_query($sql_usuario) or die(mysql_error());
$nusuarios=mysql_num_rows($res_sql);
$mensaje = "";
if ($nusuarios>0) {
$reg_sql=mysql_fetch_array($res_sql);
if (md5($claveactual) == $reg_sql['ClaveUsuario']) {
// Cambio de clave
$idusuario = $reg_sql['IDCliente'];
$reg_sql='';
$sql_cambio = "UPDATE tbl_clientes "
."SET ClaveUsuario = '". md5($nuevaclave) ."' "
."WHERE IDCliente = $idusuario " ;
$resultado = mysql_query($sql_cambio) or die(mysql_error());
$mensaje = "<script languaje='javascript'>alert('Se ha modificado la clave');</script>";
} else {
$mensaje = "<script languaje='javascript'>alert('La clave actual es errónea');</script>";
}
} else {
$mensaje = "<script languaje='javascript'>alert('Su nombre de usuario no es válido');</script>";
}
echo $mensaje;
Lo realmente flipante es que, una vez ha comprobado que la clave actual y la que tiene almacenada son las mismas, hace la modificación por la nueva clave pero.... invariablemente da el mensaje de 'La clave actual es errónea'.
Agradeceré cualquier ayuda para explicar este poltergeist.
Saludos