Foros del Web » Programando para Internet » PHP »

Impedir acceso superada una fecha

Estas en el tema de Impedir acceso superada una fecha en el foro de PHP en Foros del Web. No soy programador y necesito que me indiquen como seria el script para que, superada una fecha de vencimiento, los visitantes no puedan acceder a ...
  #1 (permalink)  
Antiguo 06/11/2009, 05:45
 
Fecha de Ingreso: noviembre-2007
Mensajes: 78
Antigüedad: 17 años
Puntos: 1
Impedir acceso superada una fecha

No soy programador y necesito que me indiquen como seria el script para que, superada una fecha de vencimiento, los visitantes no puedan acceder a una seccion determinada.

Desde un formulario, los visitantes que cuenten con el codigo de acceso de un vendedor pueden acceder a dicha seccion. Si ese codigo no existe en la BD el visitante recibe un mensaje de error mediante el siguiente script:


<?php

$c_acceso = isset($_REQUEST["codigo"]) ? mysql_escape_string($_REQUEST["codigo"]) : "";

//verificar codigo de acceso
$sql = "select count(*) cuantos from vendedores where c_acceso = '$c_acceso'";
$c = mysql_query($sql, $conn) or die(mysql_error());
if ( $rc = mysql_fetch_array($c) ) {
$cuantos = $rc["cuantos"];
if( !($cuantos > 0) ) {
echo "<script>alert('El código de acceso que usted ingreso no existe, verifique la información ingresada.');history.back();</script>";

exit();
}
}
mysql_free_result($c);
?>

Lo que necesito es modificarlo para que ademas filtre a los visitantes que pretendan acceder fuera de un periodo determinado.

Mysql:

En la tabla 'vendedores' estan los campos:

codigo_vendedor
c_acceso

En la tabla 'ordenes' estan los campos:

codigo_vendedor
fecha_vencimiento

El campo fecha_vencimiento tiene el formato del ejemplo siguiente:

2009-11-14 15:47:55

No necesito considerar la hora, minutos y segundos, necesito que a partir de las 0 hs del dia siguiente: 2009-11-15 00:00:00 los visitantes ya no tengan acceso, y les muestre el mensaje:

"El codigo de acceso que usted ingreso ha caducado".

Desde ya muchas gracias por la ayuda!
  #2 (permalink)  
Antiguo 06/11/2009, 09:30
Avatar de Chupytoloco  
Fecha de Ingreso: julio-2007
Mensajes: 88
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Impedir acceso superada una fecha

yo te pongo el codigo sql y a partir de ahi lo cocinas:

Código PHP:
SELECT if(date_add(fecha_vencimientoINTERVAL 1 DAY)<now(),'entra','caducado'FROM ordenes where codigo 'xxxxxxx' 
Resumiendo el select, primero suma a la fecha de vencimiento 1 dia, <now() significa que comprueba si ha caducado o no, en caso de que no hayan pasado 24h el select devuelve 'entra' sino devuelve 'caducado'

Última edición por Chupytoloco; 06/11/2009 a las 09:38
  #3 (permalink)  
Antiguo 06/11/2009, 12:15
 
Fecha de Ingreso: noviembre-2007
Mensajes: 78
Antigüedad: 17 años
Puntos: 1
Respuesta: Impedir acceso superada una fecha

Muchas gracias Chupytoloco por tu ayuda, lamentablemente mis conocimientos son inferiores a los de un principiante, y solamente soy capaz de resolver cosas muy simples, copiando codigo de otras partes del sistema, pero no se escribir.

Si puedes ayudarme a completar el script, o tal vez alguien mas. Lo he intentado pero no he tenido exito.

Otra vez muy agradecido!
  #4 (permalink)  
Antiguo 06/11/2009, 19:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 78
Antigüedad: 17 años
Puntos: 1
Pregunta Respuesta: Impedir acceso superada una fecha

Creo que la pregunta es muy extensa y confusa, tal vez asi se entienda mejor:

Desde un formulario, los visitantes que cuenten con el codigo de acceso de un vendedor pueden acceder a una seccion, siempre que dicho codigo no se encuentre vencido. Todo esta hecho, excepto que no impide el acceso superada la fecha de vencimiento.


la tabla "ordenes" tiene los campos "vendedor" y fecha_vencimiento.

Ejemplo:

fecha_vencimiento: 2009-11-14 15:47:55 (ese es el formato, pero la hora no la necesito)

Los que usen el codigo de acceso con esa fecha de vencimiento deben tener acceso hasta la hora 24 de ese dia. A partir de las 0 hs del dia siguiente 2009-11-15 00:00:00 les tiene que aparecer el mensaje "codigo de acceso vencido".

Por favor, tengan en cuenta que no se programar. Gracias por la paciencia y disculpen las molestias.
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 22:34.