PHP globale Variablen - Superglobale Variablen
- Vorherige Seite PHP-Array-Sortierung
- Nächste Seite PHP Formularverarbeitung
Superglobale Variablen wurden in PHP 4.1.0 eingeführt und sind in allen Bereichen stets verfügbar.
PHP globale Variablen - Superglobale Variablen
Viele vorgegebene Variablen in PHP sind 'superglobal', was bedeutet, dass sie im gesamten Bereich eines Skripts verfügbar sind. Man muss nicht global $variable; ausführen, um auf sie zuzugreifen.
Diese Superglobalen Variablen sind:
- $GLOBALS
- $_SERVER
- $_REQUEST
- $_POST
- $_GET
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
In diesem Abschnitt werden einige Superglobale Variablen vorgestellt, und andere werden in späteren Kapiteln erläutert.
$GLOBALS - Referenz auf alle Variablen im globalen Bereich
Die globale Variable $GLOBALS wird verwendet, um globale Variablen in jeder Position des PHP-Skripts zu erreichen (von Funktionen oder Methoden aus).
PHP speichert alle globalen Variablen im Array $GLOBALS[index]. Der Variablenname ist der Schlüssel des Arrays.
Das folgende Beispiel zeigt, wie man die Superglobale Variable $GLOBALS verwendet:
Beispiel
<?php $x = 75; $y = 25; function addition() { $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; } addition(); echo $z; ?>
Im obigen Beispiel kann man auf die Variable z auch außerhalb der Funktion zugreifen, da sie im Array $GLOBALS enthalten ist.
PHP $_SERVER
Die Superglobale Variable $_SERVER speichert Informationen über Header, Pfade und den Standort des Skripts.
Das folgende Beispiel zeigt, wie man einige Elemente von $_SERVER verwendet:
Beispiel
<?php echo $_SERVER['PHP_SELF']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['SERVER_NAME']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['PHP_SELF']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['SERVER_NAME']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['HTTP_HOST']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['HTTP_USER_AGENT']; ?>
echo "<br>";
echo $_SERVER['SCRIPT_NAME']; | Die folgende Tabelle zeigt die wichtigsten Elemente, die Sie in $_SERVER abrufen können: |
---|---|
Element/Code | Beschreibung |
$_SERVER['PHP_SELF'] | Gibt den Dateinamen des Skripts zurück, das derzeit ausgeführt wird. |
$_SERVER['GATEWAY_INTERFACE'] | Gibt die Version des CGI-Standard zurück, den der Server verwendet. |
$_SERVER['SERVER_ADDR'] | Gibt die IP-Adresse des Servers zurück, auf dem das aktuelle Skript ausgeführt wird. |
$_SERVER['SERVER_NAME'] | Gibt den Hostnamen des Servers zurück, auf dem das aktuelle Skript ausgeführt wird (z.B. www.codew3c.com). |
$_SERVER['SERVER_SOFTWARE'] | Gibt die Identifikationszeichenkette des Servers zurück (z.B. Apache/2.2.24). |
$_SERVER['SERVER_PROTOCOL'] | Gibt den Namen und die Version des Kommunikationsprotokolls zurück, das zur Anfrage der Seite verwendet wird (z.B. "HTTP/1.0"). |
$_SERVER['REQUEST_TIME'] | Gibt den Zeitstempel zurück, wenn die Anfrage begonnen hat (z.B. 1577687494). |
$_SERVER['QUERY_STRING'] | Gibt den Query-String zurück, wenn die Seite über den Query-String aufgerufen wird. |
$_SERVER['HTTP_ACCEPT'] | Gibt die Anfrage-Header der aktuellen Anfrage zurück. |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Gibt den Accept_Charset-Header der aktuellen Anfrage zurück (z.B. utf-8, ISO-8859-1). |
$_SERVER['HTTP_HOST'] | Gibt den Host-Header der aktuellen Anfrage zurück. |
$_SERVER['HTTP_REFERER'] | Gibt die vollständige URL der aktuellen Seite zurück (nicht zuverlässig, da nicht alle User-Agenten dies unterstützen). |
$_SERVER['HTTPS'] | Oben Sie durch sicheres HTTP-Protokoll Skripte abfragen? |
$_SERVER['REMOTE_ADDR'] | Gibt die IP-Adresse des Benutzers zurück, der die aktuelle Seite ansieht. |
$_SERVER['REMOTE_HOST'] | Gibt den Hostnamen des Benutzers zurück, der die aktuelle Seite ansieht. |
$_SERVER['REMOTE_PORT'] | Gibt den Port zurück, den das Benutzergerät verwendet, um sich mit dem Webserver zu verbinden. |
$_SERVER['SCRIPT_FILENAME'] | Gibt den absoluten Pfad zur aktuellen Skriptdatei zurück. |
$_SERVER['SERVER_ADMIN'] | Dieser Wert gibt den SERVER_ADMIN-Parameter der Apache-Serverkonfigurationsdatei an. |
$_SERVER['SERVER_PORT'] | Der Port, den der Webserver verwendet. Der Standardwert ist "80". |
$_SERVER['SERVER_SIGNATURE'] | Gibt die Serverversion und den Namen des virtuellen Hosts zurück. |
$_SERVER['PATH_TRANSLATED'] | Der Basispfad des Dateisystems, in dem das aktuelle Skript liegt (nicht der Dokumentwurzelverzeichnis). |
$_SERVER['SCRIPT_NAME'] | Gibt den Pfad der aktuellen Skriptdatei zurück. |
$_SERVER['SCRIPT_URI'] | Gibt die URI der aktuellen Seite zurück. |
PHP $_REQUEST
PHP $_REQUEST wird verwendet, um die Daten von HTML-Formularen zu sammeln, die übermittelt werden.
Das folgende Beispiel zeigt ein Formular, das Eingabefelder und einen Absendeknopf enthält. Wenn der Benutzer durch Klicken auf den Absendeknopf die Formulardaten übermittelt, werden die Formulardaten an die Skriptdatei gesendet, die im action-Attribut des <form>-Tags angegeben ist. In diesem Beispiel haben wir die Datei selbst angegeben, um die Formulardaten zu verarbeiten. Wenn Sie eine andere PHP-Datei verwenden möchten, um die Formulardaten zu verarbeiten, ändern Sie den Dateinamen, den Sie wählen. Dann können wir die Superglobale Variable $_REQUEST verwenden, um die Werte der Eingabefelder zu sammeln:
Beispiel
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_REQUEST['fname']; echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST wird weit verbreitet verwendet, um die Daten von HTML-Formularen, die mit dem Method-Attribut "post" übermittelt werden, zu sammeln. $_POST wird auch oft verwendet, um Variablen zu übermitteln.
Das folgende Beispiel zeigt ein Formular, das Eingabefelder und einen Absendeknopf enthält. Wenn der Benutzer auf den Absendeknopf klickt, um die Daten zu übermitteln, werden die Formulardaten an die Datei gesendet, die im action-Attribut des <form>-Tags angegeben ist. In diesem Beispiel haben wir die Datei selbst angegeben, um die Formulardaten zu verarbeiten. Wenn Sie eine andere PHP-Seite verwenden möchten, um die Formulardaten zu verarbeiten, ändern Sie den Dateinamen, den Sie wählen. Dann können wir die Superglobale Variable $_POST verwenden, um die Werte der Eingabefelder zu sammeln:
Beispiel
<html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = $_POST['fname']; echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET kann auch verwendet werden, um die Daten von HTML-Formularen (method="get") nach dem Absenden zu sammeln.
$_GET kann auch die gesendeten Daten in der URL sammeln.
Angenommen, wir haben eine Seite, die Hyperlinks mit Parametern enthält:
<html> <body> <a href="test_get.php?subject=PHP&web=codew3c.com">Test $GET</a> </body> </html>
Wenn der Benutzer auf den Link "Test $GET" klickt, werden die Parameter "subject" und "web" an "test_get.php" gesendet, und dann können Sie diese Werte über $_GET in "test_get.php" abrufen.
Das folgende Beispiel ist der Code in "test_get.php":
Beispiel
<html> <body> <?php echo "In " . $_GET['web'] . " lernst du " . $_GET['subject']; ?> </body> </html>
Tipp:Du wirst PHP Formular In diesem Abschnitt lernst du mehr über $_POST und $_GET.
- Vorherige Seite PHP-Array-Sortierung
- Nächste Seite PHP Formularverarbeitung