Cita:  
					Iniciado por cuasatar 
  (...)
 
Por cierto, ¿que pasa entre las 12 y las 14? no estan definidos.
    Me parece que va a ser eso. 
Lo más prudente expecimen es que siempre inicies la variable con un valor por defecto, para no tener este tipo de errores de variables no definidas.   
Código PHP:
Ver original<?php
$mensaje = "buenos días";
if (Date("H") > 5 && Date("H")< 12) $mensaje = "buenos dias";  elseif (Date("H") > 13 && Date("H") < 18) $mensaje = "buenas tardes";  elseif (Date("H") > 19 && Date("H") <= 23) $mensaje = "buenas noches";  elseif (Date("H") >= 0 && Date("H") < 6) $mensaje = "buenas noches";  echo $mensaje;?>