Foros del Web » Programando para Internet » PHP »

Comprobar edad para acceder a web restringida.

Estas en el tema de Comprobar edad para acceder a web restringida. en el foro de PHP en Foros del Web. Necessitaria que alguien me indicara un script en php, en que me calculara la edad de un usuario a partir de su fecha de nacimiento ...
  #1 (permalink)  
Antiguo 12/12/2003, 02:36
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Comprobar edad para acceder a web restringida.

Necessitaria que alguien me indicara un script en php, en que me calculara la edad de un usuario a partir de su fecha de nacimiento registrada en la base de datos, y que si es menor de 18 años no le permita avanzar. Alguien sabe hacer eso? Gracias.
  #2 (permalink)  
Antiguo 12/12/2003, 06:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo primero que tendrías que tener es tu BD implementada con ese dato concreto de edad. ¿Estas ya usando algún tipo de registro de usuarios?

Cuando tegas eso .. pasamos al segundo paso de implementar dicha funcionalidad ..

Y de paso .. si quieres ir buscando por tí .. pasate por www.hotscripts.com

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 12/12/2003, 07:24
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
La base de datos con el campo fecha de nacimiento lo tengo ya creado en este caso lo que dividido en tres campos dia, mes y año que se guardan en celdas separadas. Supongo que la variable que se tendra que usar sera el año, nose ayudame please. En hotscripts ya estuve buscando pero no encontre nada que me pudiera ser util para esta función. Gracias por tu ayuda espero respuesta.
  #4 (permalink)  
Antiguo 12/12/2003, 07:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Hay que acostumbrarse a buscar. Si pones "edad" en el buscador de este foro, encuentras mensajes como http://www.forosdelweb.com/showthrea...hreadid=169288 , que trata de como calcular la edad actual. Y creo que las funciones funcionaban. Solo tienes que pasarle los datos de tu base de datos.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 12/12/2003, 07:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Ok, gracias pero una vez calculada la edad como lo hago para que lo compara con los 18 y si es menor le muestre mensaje de denegar el acceso y si es mayor lo redireccione? Gracias.
  #6 (permalink)  
Antiguo 12/12/2003, 07:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hombre, pues un if y un par de redirecciones Location con header() (www.php.net/header). Algo como:
Código PHP:
// aqui tu codigo de calculo de la edad
if (18>$edad) {
  
header("Location: menor_18.php");
  exit;
} else {
  
header("Location: mayores_18.php");
  exit;

Siendo menor_18.php la pagina a donde quieres enviar a los menores (una que diga "Lo siento, yogurin, no puedes acceder a esa seccion") y mayor_18.php la pagina a donde llegan los mayores de edad.

Tambien seria recomendable que en todas las paginas solo para "adultos", pongas el mismo codigo, pero sin el else. Por si consigue la URL de destino, para que no pueda entrar directamente.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 12/12/2003, 07:58
 
Fecha de Ingreso: diciembre-2003
Mensajes: 173
Antigüedad: 20 años, 4 meses
Puntos: 1
Perdona que todavia te de la lata pero tengo alguna duda mas.
El codigo que sale en ese articulo de edades:

function edad($stamp){
$c = date("Y",$stamp);
$b = date("m",$stamp);
$a = date("d",$stamp);

$anos = date("Y")-$c;

if(date("m")-$b > 0){
}elseif(date("m")-$b == 0){
if(date("d")-$a <= 0){
$anos = $anos-1;
}
}else{
$anos = $anos-1;
}
return $anos;
}

Sirve usando variables de una base de datos?
Los datos de conexion donde irian?
Como irian unidos el codigo de mayor de 18 i este que te he mostrado?
Gracias y perdona las molestias.
  #8 (permalink)  
Antiguo 12/12/2003, 14:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si leí bien . .dices que tienes tu fecha en "3 tres .. campos de tu BD?!!?¿?" ..?

Usa campos tipo DATE de Mysql que para eso están .. para guardar fechas en formato standard. Eso te permitirá hacer operaciones con fechas desde SQL directamente sin más PHP por médio.

Recuerda que si programas PHP .. y ahora estás usando Base de datos .. te toca aprender tambien SQL (lenguaje de consultas) que usan las BD como Mysql (y su SQL particular .. que no todas es exactamente igual).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 20:20.