mira, por eso se acostumbra a definir valores por defecto si alguno viene vacío...
Código PHP:
$anio = ! empty($_POST['anio'])? $_POST['anio']: 2010;
eso es algo que no haces, y por mucho que compruebes otros aspectos estos siempre se te escaparan... pon atención...