Your last "if" is wrong, the integer number (hour) cannot be greater than 18 and smaller than 4. Try this:
<div align="center"><font size="4">Welcome to my review site</font>
<br>
<?php
$now = time();
echo 'Today is ', date('F d', $now), ', ', date('Y', $now);
?>
<br>
<font size="2">
<?php
$hour = date('G', $now);
if ($hour > 4 && $hour <= 11)
echo 'Good Morning!';
elseif ($hour > 11 && $hour <= 18)
echo 'Good Afternoon!';
else
echo 'Good Evening!';
?>
</font>
</div>
The date function without the timestamp parameter returns the current value of time so it is better to get the current timestamp once at the beginning of the script and to use it in the date calls.
We can also use "elseif" instead of "if" because it is not necessary to evaluate the 3 "if" when one of them has already been evaluated to true.