Der Martin: Problem mit Umgebungsvariablen

Beitrag lesen

Hallo,

Obwohl ich register_globals in der php.ini auf "On" gesetzt habe, ist mein PHP-Interpreter (Apache ist lokal installiert) offensichtlich nicht imstande, Umgebungsvariablen wie z. B. REMOTE_HOST anzuzeigen

bei register_globals=on solltest du die Environment-Variablen allerdings direkt als Variablen im Script haben. Der "normale" Weg wäre sonst, über das superglobale Array $_ENV[] darauf zuzugreifen.
Allerdings ist gerade REMOTE_HOST, das du als Beispiel gewählt hast, auch über $_SERVER['REMOTE_HOST'] verfügbar.

Dann gibt es im meinem gegenwärtigen Lehrbuch (ja, ich bin nunmal so autoritär veranlagt, dass ich für alles ein Lehrbuch brauche...), "PHP Grundlagen" von Bill McCarty, eine mir etwas ungewohnte Behandlung von Formulardaten: statt den bekannten Weg über $_POST[] zu gehen, werden einfach die Namen der input-Eingabefelder direkt als skalare Variablen an das php-Skript weitergereicht, aus

<input type="text" name="Vorname">

holt sich PHP einfach $Vorname...

Ja, auch das leistet register_globals. Kurz gesagt, alle Daten aus dem Request (GET, POST, COOKIE), sowie die Umgebungs- und Sessionvariablen werden als benannte Variablen direkt im Script verfügbar gemacht.
Ich halte es aber auch für sauberer, gezielt auf $_GET[], $_POST[], $_COOKIE[], $_ENV[] und $_SESSION[] zuzugreifen - und natürlich auf $_SERVER[] - anstatt den globalen Namespace mit -zig Variablen vollzumüllen, von denen das Script einen Großteil gar nicht braucht, die aber bei unsauberer Programmierung eine Gefahr darstellen könnten.

So long,
 Martin

--
Ich bin 30. Ich demensiere apokalyptisch.
  (Orlando)