Si IdLan te da cero, implica que, o la variable está vacía, o no comienza con un número (o comienza con cero).
¿Estás seguro de que la variable está definida? Haz un var_dump($_POST)
que te sea costumbre también tener
error_reporting(E_ALL);
ini_set('display_errors', true);
al principio del programa, para asegurarte de ver todos los errores y advertencias que puedan generarse. Obviamente que al terminar de programar conviene quitarlo
Saludos