Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2007, 10:32
AlexM3
 
Fecha de Ingreso: junio-2007
Mensajes: 37
Antigüedad: 16 años, 10 meses
Puntos: 0
Problema con formulario de modificar contraseña

Tengo una web en marcha. EL sistema de registro y identificacion funciona perfecto.

Ahora estoy haciendo un modulo de modificacion de datos. Para modificar la contraseña se pide introducir la nueva dos veces, pero el problema viene a la hora del update de la contraseña. Mientras cuando registor a un usuario se puede identificar bien, cuando hago el update de la nueva contraseña encryptada cuando se intenta loguear dice que el password es incorrecto.

El godigo seria algo asi:

Formulario que pasa por post la contraseña la pagina q lo recoge hace:

...
$passwd1=$_POST["passwd1"];
$passwd2=$_POST["passwd2"];
...
// hasta aki lee passwd1 i 2 perfectamente, si son iguales llega el momento de actualizar

global $semilla;
$passwd=crypt($passwd1, $semilla);

$sSQL="UPDATE usuarios SET Nombre='$nombre', Apellidos='$apellidos', Password='$passwd', Email='$email', Direccion='$direccion', Ciudad='$ciudad', CodigoPostal='$codigopostal', Pais='$pais' WHERE UsuarioID='$usuarioID'";
$result=mysql_db_query($dbname, $sSQL) or die (mysql_error());

// esta funcion no retorna error y actualiza todos los datos incluido la contraseña.

A la hora de la identificacion de usuario hago algo asi:
...
$login=$_POST["login"];
$pass=$_POST["pass"];
...
if($row["Password"]==crypt($pass,$semilla) ){
// Inserta las cookies correspondientes
}

Pues lo curioso de todo esto es q para hacer el registro de usuario haciendolo igual funciona y identifica pero al modificar la contraseña asi ya no. La unica diferencia entre el registro y la edicion de datos es que el registor hace un INSERT INTO y la edicion hace un UPDATE, asi que el problema tiene q estar ahi pero no lo encuentro ya que las dos usan la misma variable globar $semilla