Neueste Web-Entwicklung Tutorials
 

PHP 5 Globale Variablen - Superglobals


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.