Superglobals wurden in PHP 4.1.0 und sind integrierte Variablen eingeführt, die in allen Bereichen immer zur Verfügung stehen.
PHP Globale Variablen - Superglobals
Mehrere vordefinierte Variablen in PHP sind "superglobals" , was bedeutet , dass sie immer zugänglich sind, unabhängig von Umfang - und Sie können sie von jeder Funktion, Klasse oder eine Datei zugreifen , ohne etwas Besonderes zu tun.
Die PHP superglobalen Variablen sind:
- $ GLOBALS
- $ _SERVER
- $ _REQUEST
- $ _POST
- $ _GET
- $ _FILES
- $ _ENV
- $ _COOKIE
- $ _SESSION
In diesem Kapitel werden einige der Superglobals erklären, und der Rest wird in den folgenden Kapiteln erläutert.
PHP $ GLOBALS
$ GLOBALS ist ein PHP-Super globaler Variable, die verwendet wird, in dem PHP-Skript von überall globalen Variablen (auch in Funktionen oder Methoden).
PHP speichert alle globalen Variablen in einem Array namens $ GLOBALS [ index ]. Der Index enthält den Namen der Variablen.
Das folgende Beispiel zeigt, wie die Super globalen Variable $ GLOBALS verwenden:
Beispiel
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] =
$GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
Führen Sie zB » In dem obigen Beispiel, da z eine Variable innerhalb des $ GLOBALS-Array ist, ist es auch von außen zugänglich der Funktion!
PHP $ _SERVER
$ _SERVER ist ein PHP-Super globale Variable, die Informationen über Header, Pfade und Skript Standorten hält.
Das folgende Beispiel zeigt, wie einige der Elemente in $ _SERVER verwenden:
Beispiel
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo
$_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo
$_SERVER['SCRIPT_NAME'];
?>
Führen Sie zB » In der folgenden Tabelle sind die wichtigsten Elemente, die _SERVER in $ gehen kann:
Element / Code | Beschreibung |
---|---|
$ _SERVER [ 'PHP_SELF'] | Gibt den Dateinamen des aktuell ausgeführten Skripts |
$ _SERVER [ 'GATEWAY_INTERFACE'] | Gibt die Version des Common Gateway Interface (CGI) der Server verwendet wird |
$ _SERVER [ 'SERVER_ADDR'] | Gibt die IP-Adresse des Host-Servers |
$ _SERVER [ 'SERVER_NAME'] | Gibt den Namen des Hostservers (such as www.w3ii.com) |
$ _SERVER [ 'SERVER_SOFTWARE'] | Gibt die Serveridentifikationszeichenfolge (such as Apache/2.2.24) |
$ _SERVER [ 'SERVER_PROTOCOL'] | Gibt den Namen und die Revision des Informationsprotokolls (such as HTTP/1.1) |
$ _SERVER [ 'REQUEST_METHOD'] | Gibt das Anforderungsverfahren für den Zugriff auf die Seite (such as POST) |
$ _SERVER [ 'REQUEST_TIME'] | Gibt den Zeitstempel des Beginns des Antrags (such as 1377687496) |
$ _SERVER [ 'QUERY_STRING'] | Gibt den Query-String, wenn die Seite über eine Abfrage-String zugegriffen wird |
$ _SERVER [ 'HTTP_ACCEPT'] | Rückkehr an den Header der aktuellen Anforderung |
$ _SERVER [ 'HTTP_ACCEPT_CHARSET'] | Gibt den Accept_Charset Header der aktuellen Anforderung (wie utf-8, ISO-8859-1) |
$ _SERVER [ 'HTTP_HOST'] | Gibt den Host-Header der aktuellen Anforderung |
$ _SERVER [ 'HTTP_REFERER'] | Gibt die vollständige URL der aktuellen Seite (nicht zuverlässig, da nicht alle User-Agents es unterstützen) |
$ _SERVER [ 'HTTPS'] | Ist das Skript über ein sicheres HTTP-Protokoll abgefragt |
$ _SERVER [ 'REMOTE_ADDR'] | Gibt die IP-Adresse, von wo der Benutzer die aktuelle Seite sehen |
$ _SERVER [ 'REMOTE_HOST'] | Gibt die Host-Namen aus, wo der Benutzer die aktuelle Seite sehen |
$ _SERVER [ 'REMOTE_PORT'] | Gibt den Port auf dem Computer des Benutzers verwendet werden, mit dem Web-Server zu kommunizieren |
$ _SERVER [ 'SCRIPT_FILENAME'] | Gibt den absoluten Pfadnamen des aktuell ausgeführten Skripts |
$ _SERVER [ 'SERVER_ADMIN'] | Gibt den Wert an die SERVER_ADMIN Direktive in der Web - Server - Konfigurationsdatei angegeben (wenn Ihr Skript auf einem virtuellen Host läuft, wird der Wert für den virtuellen Host definiert sein) (such as [email protected]) |
$ _SERVER [ 'SERVER_PORT'] | Gibt den Port auf dem Server - Rechner durch den Web - Server für die Kommunikation verwendet wird (such as 80) |
$ _SERVER [ 'SERVER_SIGNATURE'] | Gibt die Server-Version und virtuelle Hostnamen, die vom Server generierten Seiten hinzugefügt werden |
$ _SERVER [ 'PATH_TRANSLATED'] | Gibt das Dateisystem auf Basis Pfad zum aktuellen Skript |
$ _SERVER [ 'SCRIPT_NAME'] | Liefert den Pfad des aktuellen Skripts |
$ _SERVER [ 'SCRIPT_URI'] | Gibt die URI der aktuellen Seite |
PHP $ _REQUEST
PHP $ _REQUEST wird verwendet, um Daten zu sammeln, nachdem ein HTML-Formular einreichen.
Das folgende Beispiel zeigt ein Formular mit einem Eingabefeld und einer Submit-Button. Wenn ein Benutzer die Daten einreicht , indem Sie auf "Submit" wird die Formulardaten in die Datei in dem angegebenen gesendete action Attribute des <form> -Tag. In diesem Beispiel weisen wir auf diese Datei selbst für die Datenverarbeitung bilden. Wenn Sie eine andere PHP-Datei verwenden möchten, Formulardaten zu verarbeiten, ersetzen, dass mit dem Dateinamen Ihrer Wahl. Dann können wir die Super globalen Variable $ _REQUEST, um den Wert des Eingabefeldes 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
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_REQUEST['fname'];
if (empty($name)) {
echo "Name
is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
Führen Sie zB » PHP $ _POST
PHP $ _POST ist weithin zu sammeln Formulardaten nach der Einreichung ein HTML-Formulars mit method = „post“ verwendet. $ _POST wird auch häufig verwendeten Variablen zu übergeben.
Das folgende Beispiel zeigt ein Formular mit einem Eingabefeld und einer Submit-Button. Wenn ein Benutzer die Daten einreicht , indem Sie auf "Submit" wird die Formulardaten in die Datei in dem angegebenen gesendete action Attribute des <form> -Tag. In diesem Beispiel weisen wir auf die Datei selbst für die Datenverarbeitung bilden. Wenn Sie eine andere PHP-Datei verwenden möchten, Formulardaten zu verarbeiten, ersetzen, dass mit dem Dateinamen Ihrer Wahl. Dann können wir die Super globalen Variable $ _POST, um den Wert des Eingabefeldes 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
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_POST['fname'];
if (empty($name)) {
echo "Name
is empty";
} else {
echo $name;
}
}
?>
</body>
</html>
Führen Sie zB » PHP $ _GET
PHP $ _GET können auch Formulardaten zu sammeln, nach der Einreichung ein HTML-Formular mit method = „get“ verwendet werden.
$ _GET kann auch gesendete Daten in der URL sammeln.
Angenommen, wir eine HTML-Seite, die einen Link mit Parameter enthält:
<html>
<body>
<a href="test_get.php?subject=PHP&web=w3ii.com">Test $GET</a>
</body>
</html>
Wenn ein Benutzer auf den Link klickt "Test $GET" die Parameter "subject" und "web" werden gesendet "test_get.php" , und Sie können dann ihre Werte zugreifen in "test_get.php" mit $ _GET.
Das folgende Beispiel zeigt den Code in "test_get.php" :
Beispiel
<html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>
Führen Sie zB » Tipp: Sie werden mehr über $ _POST lernen und $ _GET in den PHP Forms Kapiteln.