Hola Eduardo,
Varias cosas:
para que la función date() de PHP te devuelva en el formato que le pasás como parémetro, tenés que ponerlo entre comillas dobles:
date("d-m-y")
Ojo, que "y" es el año a dos dǵitos. Para el año a 4 dígitos tenés que usar "Y".
Por otra parte, la comparación
$_POST[$fecha] > date("d-m-Y)
no debería dar resultados coherentes, porque lo que estás comparando son dos strings, y por tanto la fecha 13-01-2014 aparecerá como menor que 20-12-2013.
Se discute justamente cómo procesar las fechas para hacer comparaciones acá:
http://entredesarrolladores.com/2803/detectar-online-usuario-php
Saludos!