Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/07/2007, 16:55
GoRaK
 
Fecha de Ingreso: julio-2005
Mensajes: 220
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: activar cuenta de registro via e-mail

Tal como te han comentado arriba, deberías crear 1 campo que indique si el usuario esta activo o no. Pero ademas te aconsejo que a la hora de construir
el link de activación, no pases solamente "activate=1" sino que
crearas un campo más en la tabla que guarda un numero aleatorio.

Te pongo un ejemplo:

Código PHP:
    $pass=md5($pass);
    
$activate=create_key(32); //  Función que genera un numero aleatorio de 32 digitos
    
$sql="INSERT INTO users VALUES ('','".$user."','".$pass."','".$email."','".$activate."','1')"// el 1=estado=no activado
    
$r $bd->bbdd_query($sql);
    
$idTemp=mysql_insert_id(); // recogemos la id del registro que acabamos de añadir.
//Construimos el enlace
$path="http://www.miweb.com/";
    
$activateLink=$path."activar_registro.php?id=".$idTemp."&activateKey=".$activate.""
El $activateLink lo envias por email.

Y luego como te han comentado mas arriba, recoges mediante $_GET los valores, compruebas si coincide el id del usuario y el link de activación, si coincide, dejas en blanco el campo del link y pones a 0 (activado) el campo estado.

Salu2!!