Foros del Web » Programando para Internet » PHP »

¿Como dar acceso a un usuario solo 30 dias?

Estas en el tema de ¿Como dar acceso a un usuario solo 30 dias? en el foro de PHP en Foros del Web. Estoy haciendo una zona PREMIUM en mi web y quiero dar acceso a los usuarios que paguen (con tarjeta y eso, como muchas webs). Lo ...
  #1 (permalink)  
Antiguo 12/04/2006, 20:34
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 11 años, 9 meses
Puntos: 0
¿Como dar acceso a un usuario solo 30 dias?

Estoy haciendo una zona PREMIUM en mi web y quiero dar acceso a los usuarios que paguen (con tarjeta y eso, como muchas webs).
Lo de los pagos con tarjetas ya lo tengo...

pero, ¿como hago para que una vez que paguen solo tengan acceso 30 dias (o un mes justo, me da igual, todavia no lo he pensado)

me imagino que será con time()

pero he estado buscando y no encuentro la forma de que la base de datos les niegue el acceso pasados 30 dias (o 1 mes)

¿como calcular una fecha de 1 mes despues y negar el acceso pasada esa fecha?
  #2 (permalink)  
Antiguo 12/04/2006, 20:54
 
Fecha de Ingreso: mayo-2004
Ubicación: Argentina
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 1
Hola, mirá una idea que se me ocurre es que cuando la pasarela de pagos te de el ok, te diga que id de usuario es y con eso seteas la fecha limite, osea fecha_actual+30 y despues en las paginas restringidas te fijas si todabia no se cumplio la fecha limite para ese id.

Los codigos son faciles... saludos!
  #3 (permalink)  
Antiguo 12/04/2006, 20:56
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
almacenas en una db la primer entrada del usuario, o la activación de este, y despues cada vez que entra verificas si ya paso el tiempo correspondiente o no... si ya paso le pones una redireccion y listo...

Calcular la duración es facil, es time() + los segundos que hay en un mes...

$fulldays = time() + 2592000;

Eso es aproximado...

Lo que tienes que hacer es que cada vez que visite la pagina calcule el campo que guardaste y el time() actual, en teoria si es 0 ó menos tienes que frenar la aplicacion...


Código PHP:
$_sql mysql_query("SELECT `time` FROM `users` WHERE `id` = '1'");
if (
$_row mysql_fetch_asoc($_sql)) {
  if (
time()-$_row['time'] <= 0) { echo 'su cuenta de usuario paso el limite de 30 días';
  }
  else { echo 
'bienvenido...'; }

Es un ejemplo, ademas esas condiciones puedes verificarlas en la misma consulta sql para ahorrar tiempo y recursos.
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 13/04/2006, 15:28
 
Fecha de Ingreso: marzo-2006
Mensajes: 342
Antigüedad: 11 años, 9 meses
Puntos: 0
Gracias... ya casi lo tengo. Un saludo.
  #5 (permalink)  
Antiguo 13/04/2006, 19:07
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
Gracias, tambien me sirve

Saludos
__________________
www.dataautos.com
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:10.