Right now, the codes Prints out <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Should read
http://thelastday.zxq.net/guessing.html instead... Are you sure your server parses HTML as PHP files? Change the extension to .php and all should work fine.
It is not normal to be able to see the PHP codes in the sources.
As for your second question, there is a line reading
of (lissest($_POST['guess'])) {
There is mucho typo there, we should be reading
if (isset($_POST['guess'])) {
There is no reason why it wouldn't work...
Spell check hates the programming language we are talking about.