Creo que el problema es que PHP es sensible a minusculas y mayusculas para nombres de variables
Código PHP:
<?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)
{
//
// Aquí estaría el problema...$DiaActual<>$diaActual
//
//if ($DiaActual < $dia)
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......................................
?>
Saludos cordiales