Timing
Ein PHP-Skript wird erst abgearbeitet wenn der gesamte HTTP-Request empfangen wurde. Dies bedeutet, daß der Benutzer (bzw. potentielle Angreifer) dann - selbst in register_globals=on Umgebungen - keine Möglichkeit mehr hat, Daten zu übertragen. Deshalb sollten Variablen grundsätzlich innerhalb des Codes initialisiert werden.
Zum Thema Initialisierung eine kurze Anmerkung: PHP benötigt (auch in PHP 6) zwar keine Initialisierung von Variablen vor ihrer Verwendung, trotzdem erweist es sich als gute Praxis, Werte zu initialisieren um sicherzustellen, dass eine Variable von aussen via GET/POST/COOKIE mit Inhalten gefüllt werden kann.