Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/03/2007, 17:30
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Confirmacion en sistema de usuarios

Bien, haber si te sirve:

EN tu tabla de usuarios creas dos campos más:

codigo VARCHAR(20),
estado INT(1),

Luego, al hacer la consulta para insertar nuevos usuarios crea_user.php:

Código PHP:
// Linea 023, la cambias por:
function genera_random($longitud){ 
    
$exp_reg="[^A-Z0-9]"
    return 
substr(eregi_replace($exp_reg""md5(rand())) . 
       
eregi_replace($exp_reg""md5(rand())) . 
       
eregi_replace($exp_reg""md5(rand())), 
       
0$longitud); 

$codigo genera_random(20);
$query="INSERT INTO usuarios (login, nombre, apellidos, password, email, codigo, estado) VALUES ('$login','$nombre','$apellidos','$pass1','$email','$codigo','0')";
 
//Le mandas por mail el correo de confirmacion 
Ya sabes le tienes que mandar un correo al usuario con un link para confirmar su usuario. Algo asi:

http://www.sitio.fdw/confirmar.php?c...re9gbujhu650hu

Obviamente con el codigo que fue generado y guardado en la variable $codigo.

Luego, en confirmar php buscas en la base de datos que coincida con codigo=<el codigo>, y si encuentras algun resultado pues seteas la columna estado a 1, usando una consulta con UPDATE. Puedes tambien, cuando el usuario confirme su correo, borrar el contenido de la columna codigo, aunque no es muy necesario.

Finalmente, en comprueba.php, una vez que el usuario se ha logueado correctamente (hablo de la linea 13), compruebas que $array['estado'] tiene el valor de 1, si no significa que no está confirmado, y pues puedes mandarle una advertencia, o botarlo, o lo que se te venga en gana.

Un saludo,