Im not sure if this is what you want but at the end of your script it says :

if ($okay) {
print '<p> You have been successfully registered (but not really).</p>';
print '<p> You entered your birthday as $birthdate .</p>';
}

This is saying if variable $okay is true then execute following command, so it will say that error report im guessing. So change it to :

if (!$okay) {
print '<p> You have been successfully registered (but not really).</p>';
print '<p> You entered your birthday as $birthdate .</p>';
}

This should work

Disregard this, you want to print this only if you're $okay is true, not if its false.

Anyway, the problem with you're display is you're not allowing the $birthday to parse as a PHP variable.
You're options are to surround it with double quotations, or select a new method of printing. Single quotations are interpreted as a non-parsable string literal. To use with single quotations, you'll need to break the string: