Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2009, 17:45
Avatar de jlmoreno31
jlmoreno31
 
Fecha de Ingreso: mayo-2009
Ubicación: Barcelona
Mensajes: 174
Antigüedad: 15 años, 10 meses
Puntos: 2
Logica de Activación de cuenta por correo super sencillo

Hola amigos,

vengo escribiendo en el foro desde mayo de este año, bueno mejor dicho preguntando, y aportando pequeñas cosillas. Estuve viendo el otro post sobre activación de cuentas por correo electrónico y lo vi, aunque muy bueno, demasiado complejo para mi. Asi que decidí investigar un poco sobre como hacerlo y me gustaría aportaros el resultado.

Sirve para activar la cuenta por correo y también para cuando se olvida la password como resetearla.

Ahora pondré la lógico y el Lunes meteré el código que ya es muy tarde y estoy echo polvo :)

¿como funciona?

1. Se crea un campo en la tabla usuarios activation_code (o lo que mas te guste).
2. Cuando el usuario rellenar el formulario de alta, éste hace lo siguiente:
- Captura la info del formulario (nombre, email, activation_code, etc...)
- Envia un mail al Email que recoge de las variables con un link que llamará a la siguiente pagina http://www.url.com/activation.php?activation_code=$activation_code

3 Cuando le llegue el mail al usuario este clikará sobre el link anterior y le llevará a una pagina de activación con un botón para activar. Cuando le de al botón, pasará lo siguiente:
3.1 Miramos que el codigo pasado por la url sea correcto. (Con esto evitamos que alguien meta un codigo aleatorio directamente en la url).
3.2 Si es correcto, hacemos un update a la BD borrando el código de activación del usuario.
3.3 Redirigimos al usuario a otra su pagina de entrada a la web.

Y ya está, ya tenemos un activador de usuarios por email.

Por que borramos el código? porque asi lo tenemos libre para cualquier otro momento que pueda necesitarlo Ejemplo: resetear password por mail, usaríamos el mismo campo.

A mi me ha funcionado muy bien y es muy facil de implementar. El lunes subiré el codigo completo para que lo veais mejor.

Saludos.