Foros del Web » Programando para Internet » PHP »

Problema al grabar con md5

Estas en el tema de Problema al grabar con md5 en el foro de PHP en Foros del Web. hola, tengo una problema y no se cual es lo que pasa es que tengo un formulario que registrar usuarios y para generar el link ...
  #1 (permalink)  
Antiguo 31/07/2007, 11:37
Avatar de malcolmim  
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años
Puntos: 0
Problema al grabar con md5

hola, tengo una problema y no se cual es lo que pasa es que tengo un formulario que registrar usuarios y para generar el link que se le envia a su correo necesito pasarla a md5 la contraseña ya que esta se validad el link con el id del usuario mas la contraseña con md5 que genera su password a hexadecimal

el campo que graba la contraseña en md5 es de tipo varchar lo graba correctamente y ala hora del link no validad el campo de la contraseña md5... el problema es que la manda al correo y la graba correctamente pero cuando valido no la toma y por lo tanto no activa la cuenta, en cambio si pongo unmero solamente si la toma pero como la graba en hexadecimal al aprecer no es compatible o algo, alguien me podria decir por que o que tipo de campo debe ser, ya intente ponerlo como campo texto pero aun asi no me lo toma...

tengo algo asi

Código PHP:
//esta es la funcion que convierte a hexadecimal el password
$codigo=md5($_POST[password]);

 
$insertSQL sprintf("INSERT INTO usuarios (usuario, password, codigo) VALUES (%s, %s)",
                       
GetSQLValueString($_POST['usuario'], "text"),
                       
GetSQLValueString($_POST['password'], "text")
                       
GetSQLValueString($codigo "text"));

// ahi inserto el usuario ,el password y el password a hexadecimal en el campo codigo



//ahora mando el mail y se la mando, primero saco el id del usuario recien insertado

$sql='SELECT idusuario, codigo FROM USUARIOS ORDER BY idusuario DESC'
$rs=mysql_query($sql); 
list(
$ultimoId$codcifra)=mysql_fetch_row($rs); 


$url="http://localhost/cgv/activado.php?idusuario=$ultimoId&codigo=$codcifra";

//hasta aqui va todo bien pues lo inserta y todo


//ahora llega el mail algo asi 
http://miweb.com/activado.php?idusua...73c8d309003340

//despues le dan clic en el link y los panda a la pagina que hace el UPDATE y esta contiene lo siguiente


Código PHP:
$sql "UPDATE usuarios SET activo='1' WHERE idusuario=$idusuario AND codigo=$cifrado";
$result mysql_query($sql) or die ("erro, no actualizo");
echo 
"REGISTRO EDITADO"
y me sale que no lo actualizo, pero en cambio si grabo enves del password en md5 grabo numeros, los toma y es donde me activa el usuario, alguien sabe que pasa o que debo hacer???
__________________
Malcolm in the middle
  #2 (permalink)  
Antiguo 31/07/2007, 12:00
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: Problema al grabar con md5

Cuando intentas actualizar intentas recoger los datos de la url como lo tienes? Si es así necesitas utilizar algo así:

Código PHP:
$sql "UPDATE usuarios SET activo='1' WHERE idusuario=".$_GET['idusuario']." AND codigo='".$_GET['cifrado']."'";
$result mysql_query($sql) or die ("erro, no actualizo");
echo 
"REGISTRO EDITADO"
Por cierto, no es buena idea que guardes la contraseña en texto plano. :P Y arriba donde insertas le hace falta una coma
Código PHP:
GetSQLValueString($codigo "text")); 
Código PHP:
GetSQLValueString($codigo"text")); 
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 31/07/2007, 12:01
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Re: Problema al grabar con md5

$codigo=md5($_POST[password]);
cambia esta linea por
$codigo=md5($_POST['password']);

Un saludo
  #4 (permalink)  
Antiguo 31/07/2007, 12:08
Avatar de malcolmim  
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años
Puntos: 0
Re: Problema al grabar con md5

gracias a los dos, tal como lo ago me actualiza bien, voy a ver la opcion de Francisco 01
__________________
Malcolm in the middle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:00.