Foros del Web » Programando para Internet » PHP »

limite de tiempo para activacion

Estas en el tema de limite de tiempo para activacion en el foro de PHP en Foros del Web. Tengo un problema a ver si me pueden ayudar, resulta que estoy armando un registro de usuarios con activacion de mail, el problema que tengo ...
  #1 (permalink)  
Antiguo 04/07/2012, 13:36
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
limite de tiempo para activacion

Tengo un problema a ver si me pueden ayudar, resulta que estoy armando un registro de usuarios con activacion de mail, el problema que tengo es que no se como hacer para que cuando se registren tengan un x tiempo por ej 30 minutos para activarlo desde el link que reciben en el mail que se les manda.
y despues el tema de los usuarios que no se activaron borrarlos.(conviene hacer una tabla_temp y cuando se active pasarlas a la original).
estoy con mysql.

a ver si me pueden dar una mano de como se puede hacer sobre todo el control del tiempo.

saludos y gracias.
  #2 (permalink)  
Antiguo 04/07/2012, 13:43
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: limite de tiempo para activacion

debes generar un token o código aleatorio que pases como parametro GET en el link del email, lógicamente registrarlo en DB con el timestamp actual (o fecha), ya con eso validas contra la fecha/hora del server
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 04/07/2012, 13:46
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: limite de tiempo para activacion

si hasta ahi bien , ahora el tema de borrado como lo hago? por ej que los que pasaron de los 30 minutos se borren o algo asi. y el tema de usar 2 tablas es mejor?(una temporal y otro original) o es lo mismo que usar 1? pregunto esto porque vi un tutorial que hacia una temporal y cuando se activaba pasaba los datos de la temporal y la original.
  #4 (permalink)  
Antiguo 04/07/2012, 13:49
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: limite de tiempo para activacion

Para borrarlo tenes que hacer un cronjob que agarre la hora actual y todo registro de hace mas de 30 minutos sea borrado, lo podes hacer todo junto.

Saludos
  #5 (permalink)  
Antiguo 04/07/2012, 14:03
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: limite de tiempo para activacion

Cita:
Iniciado por marcofbb Ver Mensaje
Para borrarlo tenes que hacer un cronjob que agarre la hora actual y todo registro de hace mas de 30 minutos sea borrado, lo podes hacer todo junto.

Saludos
exacto +karma para @marcofbb, además que si el usuario entre con el link verificas si esta, y si está y paso de tiempo lo borras y le sacas por pantalla que está expirado.

el cronjob es para eliminar lo que no fueron usados.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 04/07/2012, 14:27
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: limite de tiempo para activacion

bien , lo ultimo el tiempo para por ejemplo poner 30 minutos de margen, en mysql que funcion pongo para el insert desde php y depues como lo compararo desde php para saber si pasaron los 30 minutos cuando hace clic en el link?.
  #7 (permalink)  
Antiguo 04/07/2012, 14:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: limite de tiempo para activacion

Mysql tiene DATE_DIFF y el objeto DateTime de PHP tambien, vamos con consultar el manual es fácil de hacer.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: limite, mysql, registro, tabla, usuarios
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 01:43.