Pues entonces vete comprobando
el camino de la variable.
Comprueba que llega por $_POST, sino lo hace el fallo estará en el formulario seguramente.
De todas formas, no había caído en que cuando dices que haces la conversión de $_POST aquí:
Código PHP:
$dia=is_int($dia);
$mes=is_int($mes);
$anio=is_int($anio);
$fecha_nacimiento=$anio."-".$mes."-".$dia;
No veo nada de $_POST.
¿No tendría que ser así?:
Código PHP:
$dia=is_int($_POST['dia']);
$mes=is_int($_POST['mes']);
$anio=is_int($_POST['anio']);
$fecha_nacimiento=$anio."-".$mes."-".$dia;