Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: ma__tt en 24 Diciembre 2009, 13:46 pm



Título: Validación por mail
Publicado por: ma__tt en 24 Diciembre 2009, 13:46 pm
Hola, como puedo implementar en mi página una validación de estas. Lo que quiero hacer es como cuando te registras en un foro y para que realmente te validen, enviar un mail y esperar la activación. Algún script que haga esto de ejmplo?

muchas gracias


Título: Re: Validación por mail
Publicado por: Erik# en 24 Diciembre 2009, 16:09 pm
Creas un script que verifique que el usuario ha entrado en el link: blablabla.com/script/verificacion.php?ver=8819411369erik

y para enviarselo, usando mail.


Título: Re: Validación por mail
Publicado por: ma__tt en 24 Diciembre 2009, 17:26 pm
Creas un script que verifique que el usuario ha entrado en el link: blablabla.com/script/verificacion.php?ver=8819411369erik

y para enviarselo, usando mail.

Soy bastante neófito en esto, de hecho lo único que he usado hasta ahora, es con dreamweaver los comportamientos del servidor y las consultas jeje. Tienes por ahí algún código o trozo de código que me pueda servir de ejemplo para orientarme.

Gracias tio ;)


Título: Re: Validación por mail
Publicado por: [u]nsigned en 26 Diciembre 2009, 19:52 pm
Yo lo haria asi:

En la tabla donde guardas los usuarios registrados, supongamos que se llama users pones un campo extra llamado validado. Este campo podria ser de tipo boolean, y tener false por default, es decir que cada nuevo user se creara en la bb.dd como no validado.

Bien, ahora necesitarias crear otra tabla, por ejemplo codigos_de_validacion. Esta tabla podria tenes 2 campos: uno llamado ID, que seria donde guardas el ID del usuario en la tabla users. Y el otro campo seria el codigo de validacion, que seria generado aleatoriamente en el momento en que el usuario se registra.

El proceso seria asi:

1. Cuando el usarior termina de completar el formulario de registro y le da al boton, debes guardar todos sus datos en la tabla users, ademas del campo validado como FALSE. Y tambien cargar en la tabla codigos_de_validacion el id de dicho user y el codigo generado de activacion.

2. una vez hecho esto, le mandas un mail con la funcion mail() de php (o usando la clase phpmailer o lo que quieras). Dicho mail podria ser un link a un script en php que sea el que se encargue de validar el user. Lo que haria dicho script seria buscar en la tabla codigos_de_validacion el registro cuyo campo codigo sea igual al proporcionado en el mail. Y recuperar el id de dicho user, luego con ese id se pasa a cambiar el campo validado de la tabla users a true, y fianlmente borrar el registro en la tabla de validaciones, asi no tenes problemas en el futuro.

Saludos.

PD: No soy bueno explicandome  :xD


Título: Re: Validación por mail
Publicado por: luiggy2 en 26 Diciembre 2009, 20:28 pm
¿Y para qué dos tablas?

Directamente pones el campo "validado" con el código. Le envias el mensaje, y al leerlo que ese campo se modifique a 0 (por ejemplo).


De esa forma, cada vez que tenga que loguear, tendrás que hacer un if para ver si el campo es 0 (o True), lo que haría un poco más lento el proceso.


Mi idea consiste en una tabla usr_sin_validar con los datos del usuario, y una vez que lo valide a través del email, que se copien los datos a la tabla de usr_real. Así te ahorras el if cada vez que se loguee alguien.

Saludos!

Posdata: Si no me entienden, diganlo y me intento explicar mejor.


Título: Re: Validación por mail
Publicado por: [u]nsigned en 26 Diciembre 2009, 21:02 pm
Podria ser, pero considerando que el usuario solo debera validarse una vez, yo prefiero no cargar tanto la tabla users...en fin son puntos de vista.. ;D

Saludos