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.