Ver Mensaje Individual
  #1  
Antiguo 07-01-2014
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
Problemas comparando fechas

Hola, amigos.
Tengo un problema con un script.
Quisiera averiguar si un visitante es mayor de edad. Para eso, comparo la fecha obtenida de un formulario HTML y la obtenida con getdate(del servidor).
El problema que tengo es que siendo ambas fechas el mismo mes (enero, por ejemplo) el servidor considera menor la fecha obtenida con getdate() que la obtenida desde el formulario.
A continuación os dejo la parte del script que hace esta tarea, por si alguien puede echarme una mano.

<?php


$dia = $_POST['day'];
$mes = $_POST['month'];
$anio = $_POST['year'];

$control = $_POST["Control1"];

setlocale (LC_TIME, "es_ES");

$hoy = getdate();
$AnioActual = $hoy[year];
$mesActual = $hoy[mon];
$diaActual = $hoy[mday];


if ($AnioActual-$anio <=18) // Diferencia entre años MENOR O IGUAL que 18
{
if ($AnioActual-$anio <18) // diferencia entre años MENOR que 18
{
$control = "Error en la edad";
?>
<script type="text/javascript">
<!--
alert('Según la fecha del sistema Vd. es menor de edad año.');
//-->
</script>
<?php
} else // diferencia entre años IGUAL a 18
{
if ($MesActual <= $mes) // mes actual MENOR O IGUAL que cumpleaños
{
if ($MesActual < $mes) //mes actual MENOR que cumpleaños (no ha cumplido 18)
{echo($mesActual. "Actual" .$mes. "mes" .$anio. "Año" .$AnioActual. "AñoActual");
$control = "Error en la edad";//AQUI ES DONDE TENGO EL PROBLEMA, PUES CONSIDERA MENOR EL MES ACTUAL AUNQUE SEAN IGUALES (LO COMPRUEBO EN LA PANTALLA CON ECHO)

?>
<script type="text/javascript">
<!--
alert(' año igual mes actual menor.');
//-->
</script>
<?php
} else // mes actual y año actual igual que cumpleaños (Decide el dia del mes)
{
if ($DiaActual < $dia) // todavia no ha cumplido los 18
{ echo($mesActual. "Actual" .$mes. "mes" .$anio. "Año" .$AnioActual. "AñoActual");
$control = "Error en la edad";
?>
<script type="text/javascript">
<!--
alert(' año igual mes igual dia actual antes del cumpleaños.');
//-->
</script>
<?php
}
}
}
}
};

// Hay otras instrucciones que vienen al caso......................................
?>

Agradezco de antemano cualquier ayuda. Gracias.
Responder Con Cita