Foros del Web » Programando para Internet » PHP »

Operacion con fechas

Estas en el tema de Operacion con fechas en el foro de PHP en Foros del Web. Que tal compañeros, mi inquietud es la siguiente: Tengo un formulario de registro, en el mismo tengo tres select para el dia, mes y año ...
  #1 (permalink)  
Antiguo 22/01/2008, 17:25
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Operacion con fechas

Que tal compañeros, mi inquietud es la siguiente:

Tengo un formulario de registro, en el mismo tengo tres select para el dia, mes y año de nacimiento del aspirante en este caso, lo que necesito hacer en mi script procesar.php es comprobar antes de insertar el registro, que el individuo tenga una edad mayor o igual a 18 años para que se efectue dicha operación.

Les agradesco de antemano su colaboración.

Saludos.
  #2 (permalink)  
Antiguo 22/01/2008, 18:52
 
Fecha de Ingreso: enero-2008
Ubicación: -
Mensajes: 62
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Operacion con fechas

estaria bueno que dieras como una especie de ejemplo de lo que necesitas... asi poder ayudarte mejor..
pero te recomiendo un lugar .. que es el santuario de php:
aqui salen los codigos hechos estan geniales

http://php.astalaweb.net/_inicio/Portada.asp

bye... suerte
  #3 (permalink)  
Antiguo 22/01/2008, 21:47
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Operacion con fechas

Se me ocurre que:

Código PHP:
$d $_POST['dia'];
$m $_POST['mes'];
$a $_POST['anio'];
 
$minimo 18;
 
if(
mktime(000$m$d$a) > mktime(000date('n'), date('j'), date('Y') - $minimo)) {
    die(
'No tienes 18 años aún');
} else {
    die(
'Si tienes 18 o más');

Lo que hacemos aquí es calcular la marca de tiempo UNIX para la fecha de nacimiento que nos dió el usuario, y eso lo comparamos con la correspondiente a exactamente hace 18 años. Si la primera es mayor, quiere decir que el usuario aún no cumplió sus 18 años, pues nació en una fecha posterior.

http://www.php.net/mktime

Un saludo,
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 08:23.