the code looks correct. when I test your page, it looks like validation is failing, but it is not remembering the validated entries, this looks to me like a problem on the server with saving sessions.
use the sessionTest.php script from the following thread to test the servers session management abilities:
showpost.php?p=23826&postcount=2
if the session test fails, it is mot likely a bad session.save_path setting in the php.ini file, you will need to contact the host to have them fix the problem.