Comunidad de diseño web y desarrollo en internet online

Registro usuarios php+mysqlp (con email de confirmación)

Citar            
MensajeEscrito el 13 Ene 2012 12:47 pm
Hola a todos!

A ver si podeis echarme una mano.

Tengo el script funcionando con la siguiente tabla sql:

Código MySQL :

id    smallint(5)          No    Ninguna    AUTO_INCREMENT    
2    username    varchar(30)    latin1_swedish_ci       No       
3    password    varchar(32)    latin1_swedish_ci       No          
4    name1    varchar(32)    latin1_swedish_ci       No          
5    name2    varchar(32)    latin1_swedish_ci       No          
6    email    varchar(62)    latin1_swedish_ci       No          
7    website    varchar(250)    latin1_swedish_ci       No          
8    avatar


Quisiera saber que tengo que añadir en la base de datos y modificar en los archivos .php para que pueda hacerse una confirmación por email para finalizar el registro en la web cuando el usuario haya clicado en el link que se le envie por email.

Porque tal y como está ahora cualquiera puede registrarse poniendo un mail que ni siquiera exista y mi idea era que solo se puedan registrar los usuarios que tengan relación con la web o por lo menos que yo pueda confirmar su registro manualmente antes de que pueda ver el contenido web.

Espero vuestras respuestas.
Saludos!

Por ili

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Ene 2012 01:24 pm
Lo más típico es generar una clave o token que se guarde junto con el usuario, siendo eso lo que vas a comprobar cuando el usuario use el enlace para confirmar. Te doy una idea básica:

Código de registro = fecha + hora + id del usuario

Normalmente un dato como ese se encripta y eso sería lo que compruebas, eso más un campo extra que establezca el status del usuario a registrado (por ejemplo: 0 - No confirmado, 1 - Registrado, 2 - Suspendido, etc...)

Entonces la url que le envías al usuario sería algo como

Código HTML :

http://tuservidor.com/confirmar.php?v=(clave generadada para el usuario)


Siendo v, la variable que vas a revisar con algo similar a esto

Código PHP :

$sql = "select id from usuarios where llave = '$_GET[v]' and status = 0"
$res = mysql_query($sql, $link_to_db);
if(mysql_num_rows($res)>0){
//Aquí actualizas el status del usuario y probablemente tengas que borrar la llave
}else{
echo "Usuario no válido o inexistente";
}


Esa una idea básica, que puedes ampliar, espero esto te sirva

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.