Foros del Web » Programando para Internet » PHP »

activación de usuarios recién registrados

Estas en el tema de activación de usuarios recién registrados en el foro de PHP en Foros del Web. Hola a todos, imagino que todos conocen el sistema de inscripción en el cual luego de llenar el formulario de inscripción llega un correo con ...
  #1 (permalink)  
Antiguo 20/08/2009, 12:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 127
Antigüedad: 20 años, 5 meses
Puntos: 1
activación de usuarios recién registrados

Hola a todos, imagino que todos conocen el sistema de inscripción en el cual luego de llenar el formulario de inscripción llega un correo con un link al cual luego de hacerle click recién se activa la inscripción.
Quisiera saber si alguien tiene una guía o conoce un tutorial que me permita implementar este el sistema.
Muchisimas gracias y espero su ayuda.

Saludos desde la tierra de los Incas.

David
  #2 (permalink)  
Antiguo 20/08/2009, 12:53
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Respuesta: activación de usuarios recién registrados

Yo para chequear el mail, lo hago de la siguiente forma: Cuando se inscribe le mando un mail con una cadena generada aleatoriamente, (que la guardo en la base de datos por un rato), luego, le mando un link del sistemita, donde tiene que poner el nombre de usuario, y la cadena aleatoria, si todo es correcto, lo doy de alta y listo. No es exactamente lo que pedis, pero es como lo he implementado un par de veces.

Saludos.
  #3 (permalink)  
Antiguo 20/08/2009, 12:58
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: activación de usuarios recién registrados

Mirá nunca vi uno pero imagino que tiene una logica algo asi:
En tu base de datos de usuarios , creas un campo codigovalidacion y un campo activo ademas de los que quieras de datos (email, nombre, etc).
Cuando se registra, escribis en la bbdd los datos del usuario y a su vez el campo activo en 0 y el codigo de validacion, (generas con rand o con sha1 una codigo unico)
ese mismo codigo se lo mandas al mail del usuario recien registrado en forma de link..
o sea
Usuario xxx , active su cuente en el siguiente link www.tusitio.c./activacion.php?key=<keygeneradayescritaenlabbdd>
En la pagina adonde te envia ese link ,obtienes por GET el parametro key=xxxxx
, lo buscas en la BBDD y si esta , entonces mandas a activo=1 ese campo y ese usuario queda registrado...

saludos.
PD: estime q sabes de la funcion mail, mysql y demas... sino avisa
  #4 (permalink)  
Antiguo 20/08/2009, 13:01
 
Fecha de Ingreso: abril-2009
Ubicación: Córdoba, Argentina
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Respuesta: activación de usuarios recién registrados

Aunque pensando un poco, se podria generar la cadena aleatoria, y guardarcela un rato en el usuario en la base de datos, despues, le mandas un link, con una pagina, y como get, la cadena aleatoria:

Ej: pagina(at)com/confirmacion.php?cadenaaleatoria=valor

Luego, en confirmación, tomas el $_GET['cadenaaleatoria'] y lo comparas con los valores guardados de los usuarios que están esperando confirmación.

Aunque pensando, es raro que pueda pasar, el valor generado aleatoriamente se repita, pero podes encriptarlo así no hay dos iguales. No se, se me ocurre que puede ser así.
  #5 (permalink)  
Antiguo 20/08/2009, 15:46
 
Fecha de Ingreso: noviembre-2003
Mensajes: 127
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: activación de usuarios recién registrados

Gracias muchachos no solo por la rápida respuesta si no por lo acertada que es.
Para verificar si entendí bien en el cuerpo del mensaje que se envía por correo electrónico debo de generar el link con la forma:

www.sitioweb.c./activacion.php?key=<keygenerada>

Actualmente yo genero la clave de usuario con una función para que la genere de forma aleatoria; entonce utilizaría uno similar para la "keygenerada".

Al pasar por el link la variable "key" será tomada por el script activacion.php utilizando el método "GET"; luego mediante consultas verifico que esa "keygenerada" exista y si es así cambio el estado del campo "habilitado" en la tabla de mi DB por "1" para que se verifique en la autenticación del login.

Muchas gracias por la ayuda, ahora mismo me pongo manos al teclado y si necesito mas ayuda estaré molestando otra vez por acá.

Otra vez gracias Turfeano y Maeguaras.

saludos.
David
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:02.