Klein beetje offtopic: maar hier komt weer duidelijk naar voren waarom je bij een echo of declaratie van een variabele altijd enkele quotes wilt gebruiken:
<?php
$a = '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
?>
Een stuk overzichtelijker zou ik zo zeggen...
Alleen ben ik er niet helemaal zeker van dat dit ook daadwerkelijk het probleem oplost. Het lijkt er namelijk op dat de PHP_SELF key in de $_SERVER array niet bestaat (== oude versie van php misschien?). Maar dat zullen we van de topicstarter horen.