PHP Superglobal Variables und Register_Globals
PHP hat eine spezielle Art von Variable, die als superglobal bezeichnet wird. Der Grund, warum diese Variablen besonders sind, liegt darin, dass sie automatisch jedem PHP-Programm zur Verfügung stehen, ohne dass der Programmierer sie in seinem Programm erstellt oder definiert. Sie können sich diese als "eingebaute" Variablen vorstellen.

Die Art und Weise, wie Sie auf diese Variablen zugreifen, hängt davon ab, ob register_globals auf Ihrem Server aktiviert oder deaktiviert ist. Vor PHP Version 4.2 war register_globals standardmäßig aktiviert. Tun Sie jedoch aus Sicherheitsgründen; Diese Einstellung ist jetzt standardmäßig deaktiviert (Version 4.2+). Natürlich liegt es an den Personen, die Ihren Server ausführen, zu entscheiden, ob die Standardeinstellung überschrieben und register_globals aktiviert werden soll. Der einfachste Weg, Ihren eigenen Server zu testen, ist die Verwendung von phpinfo (). Sie haben wahrscheinlich einen Link zu dieser Webseite im Verwaltungsbereich Ihrer Website. Auf dieser Webseite finden Sie den Abschnitt Konfiguration PHP Core mit diesen Informationen.

Wie oben erwähnt, greifen Sie je nach Einstellung Ihres Servers unterschiedlich auf die Superglobalen zu. Für das neue Server-Setup erhielten die Superglobalen neue Namen. Wenn Ihr Server immer noch die alte Einstellung hat, ist es besser, die neuen Namen trotzdem zu verwenden. Wenn Sie diese neuen Namen verwenden, können Sie sicher sein, dass Ihre Programme unter beiden Serverkonfigurationen funktionieren. Dies ist jedoch bei den alten Namen nicht der Fall. Sie funktionieren nur für die alte Serverkonfiguration. Die folgende Tabelle zeigt die alten und neuen Namen sowie eine Beschreibung der Superglobalen. Beachten Sie, dass die Namen dieser Superglobalen in Großbuchstaben geschrieben sind.

NeuAltBeschreibung
$ _GET $ HTTP_GET_VARS Diese Superglobale enthält die Variablen, die von der get-Methode an das Programm gesendet werden, z. B. eine Guery-Zeichenfolge.
$ _POST $ HTTP_POST_VARS Diese Superglobale enthält die Variablen, die von der post-Methode an das Programm gesendet werden.
$ _COOKIE $ HTTP_COOKIE_VARS Diese Superglobale enthält die Variablen, die dem Programm aus einem Cookie zur Verfügung stehen.
$ _SESSION $ HTTP_SESSION_VARS Diese Superglobale enthält die Variablen, die vom Programm über eine Sitzung registriert wurden.
$ _FILES $ HTTP_POST_FILES Diese Superglobale enthält die Variablen, die bei einem Datei-Upload verfügbar sind.
$ _ENV $ _HTTP_ENV_VARS Diese Superglobale enthält die in der Serverumgebung verfügbaren Variablen.
$ _REQUEST -- Diese Superglobale enthält die Variablen, die von jeder Art von Benutzereingabe an ein Programm gesendet werden. Dies ist die allgemeinste oder universellste Art von Superglobalität.
$ _SERVER -- Diese Superglobale enthält Informationen zum Server, z. B. Dateipfade.





Video-Anleitungen: [ Learn PHP 5 In Arabic ] #79 - Predefined Variables - Globals (March 2024).