Eso es porque igualmente esa forma de hacerlo es mala.
Código PHP:
// MAL
$fecha= $_POST[fecha];
// BIEN
$fecha= $_POST['fecha'];
Hay una diferencia enorme entre cadenas de texto y constantes, la primer forma requiere que la constante haya sido definida. La segunda forma es siempre la correcta.