Asi mirando el codigo que enviaste lo que te puedo decir es que no encuentra nada en $_POST[fecha]
lo definiste asi:
y recuperas asi (?):
entonces obviamente el isset devuelve false y salta a tu else.
Espero que te ayude.
Pd: un consejo: siempre que recuperas valores por $_GET[] o $_POST[] hace un echo para verificar que todo este bien.