Heim > Backend-Entwicklung > PHP-Tutorial > Globale PHP-Variablen – Superglobale Variablen

Globale PHP-Variablen – Superglobale Variablen

巴扎黑
Freigeben: 2016-11-12 09:45:25
Original
1091 Leute haben es durchsucht

Globale PHP-Variablen – Superglobale Variablen

Viele der vordefinierten Variablen in PHP sind „superglobal“, was bedeutet, dass sie im gesamten Umfang eines Skripts verfügbar sind. Auf sie kann innerhalb einer Funktion oder Methode zugegriffen werden, ohne dass die globale $variable; ausgeführt werden muss.

Diese superglobalen Variablen sind:

$GLOBALS

$_SERVER

$_REQUEST

$_POST

$ _GET

$_FILES

$_ENV

$_COOKIE

$_SESSION

In diesem Abschnitt werden einige superglobale Variablen und andere vorgestellt Superglobale Variablen werden in späteren Kapiteln erläutert.

$GLOBALS – bezieht sich auf alle im globalen Bereich verfügbaren Variablen

$GLOBALS Diese globale Variable wird verwendet, um von überall in einem PHP-Skript auf globale Variablen zuzugreifen (entweder von einer Funktion oder einer Methode).

PHP speichert alle globalen Variablen in einem Array namens $GLOBALS[index]. Der Name der Variablen ist der Schlüssel des Arrays.

Das folgende Beispiel zeigt, wie die superglobale Variable $GLOBALS verwendet wird:

Instance

<?php 
$x = 75; 
$y = 25;
 
function addition() { 
  $GLOBALS[&#39;z&#39;] = $GLOBALS[&#39;x&#39;] + $GLOBALS[&#39;y&#39;]; 
}
 
addition(); 
echo $z; 
?>
Nach dem Login kopieren

Running Instance

Im obigen Beispiel seit z ist eine Variable im $GLOBALS-Array, sodass außerhalb der Funktion auf sie zugegriffen werden kann.

PHP $_SERVER

$_SERVER Diese superglobale Variable enthält Informationen über Header, Pfade und Skriptspeicherorte.

Das folgende Beispiel zeigt, wie bestimmte Elemente in $_SERVER verwendet werden:

Instanz

<?php 
echo $_SERVER[&#39;PHP_SELF&#39;];
echo "<br>";
echo $_SERVER[&#39;SERVER_NAME&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_HOST&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_REFERER&#39;];
echo "<br>";
echo $_SERVER[&#39;HTTP_USER_AGENT&#39;];
echo "<br>";
echo $_SERVER[&#39;SCRIPT_NAME&#39;];
?>
Nach dem Login kopieren

Laufende Instanz

Die folgende Tabelle listet die wichtigsten auf Elemente, auf die Sie in $_SERVER zugreifen können:

Element/Code Beschreibung

$_SERVER['PHP_SELF'] Gibt den Dateinamen des aktuell ausgeführten Skripts zurück.

$_SERVER['GATEWAY_INTERFACE'] gibt die vom Server verwendete Version der CGI-Spezifikation zurück.

$_SERVER['SERVER_ADDR'] gibt die IP-Adresse des Servers zurück, auf dem das Skript gerade ausgeführt wird.

$_SERVER['SERVER_NAME'] gibt den Hostnamen des Servers zurück, auf dem das Skript gerade ausgeführt wird (z. B. www.w3school.com.cn).

$_SERVER['SERVER_SOFTWARE'] gibt die Server-Identifikationszeichenfolge zurück (z. B. Apache/2.2.24).

$_SERVER['SERVER_PROTOCOL'] Gibt den Namen und die Version des Kommunikationsprotokolls zurück, als die Seite angefordert wurde (z. B. „HTTP/1.0“).

$_SERVER['REQUEST_METHOD'] gibt die Anforderungsmethode zurück, die für den Zugriff auf die Seite verwendet wird (z. B. POST).

$_SERVER['REQUEST_TIME'] gibt den Zeitstempel zurück, als die Anfrage gestartet wurde (z. B. 1577687494).

$_SERVER['QUERY_STRING'] Gibt die Abfragezeichenfolge zurück, wenn auf diese Seite über die Abfragezeichenfolge zugegriffen wird.

$_SERVER['HTTP_ACCEPT'] Gibt die Anforderungsheader der aktuellen Anforderung 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 Accept_Charset zurück Header aus dem Host-Header der aktuellen Anfrage.

$_SERVER['HTTP_REFERER'] Gibt die vollständige URL der aktuellen Seite zurück (nicht zuverlässig, da nicht von allen Benutzeragenten unterstützt).

$_SERVER['HTTPS'] Ob das Skript über das sichere HTTP-Protokoll abgefragt werden soll.

$_SERVER['REMOTE_ADDR'] Gibt die IP-Adresse des Benutzers zurück, der die aktuelle Seite durchsucht.

$_SERVER['REMOTE_HOST'] Gibt den Hostnamen des Benutzers zurück, der die aktuelle Seite durchsucht.

$_SERVER['REMOTE_PORT'] Gibt die Portnummer zurück, die auf dem Computer des Benutzers für die Verbindung zum Webserver verwendet wird.

$_SERVER['SCRIPT_FILENAME'] gibt den absoluten Pfad des aktuell ausgeführten Skripts zurück.

$_SERVER['SERVER_ADMIN'] Dieser Wert gibt den Parameter SERVER_ADMIN in der Apache-Serverkonfigurationsdatei an.

$_SERVER['SERVER_PORT'] Der vom Webserver verwendete Port. 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 (nicht das Stammverzeichnis des Dokuments), in dem sich das aktuelle Skript befindet.

$_SERVER['SCRIPT_NAME'] gibt den Pfad des aktuellen Skripts zurück.

$_SERVER['SCRIPT_URI'] gibt den URI der aktuellen Seite zurück.

PHP $_REQUEST

PHP $_REQUEST wird zum Sammeln von Daten verwendet, die von HTML-Formularen übermittelt werden.

Das folgende Beispiel zeigt ein Formular mit Eingabefeldern und einem Absenden-Button. Wenn ein Benutzer Formulardaten durch Klicken auf die Schaltfläche „Senden“ übermittelt, werden die Formulardaten an die Skriptdatei gesendet, die im Aktionsattribut des

-Tags angegeben ist. In diesem Beispiel geben wir die Datei selbst an, die die Formulardaten verarbeiten soll. Wenn Sie andere PHP-Dateien zur Verarbeitung von Formulardaten verwenden müssen, ändern Sie bitte den Dateinamen in den Dateinamen Ihrer Wahl. Dann können wir die superglobale Variable $_REQUEST verwenden, um den Wert des Eingabefelds zu sammeln:

Instanz

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_REQUEST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
Nach dem Login kopieren

Run-Instanz

PHP $_POST

PHP $_POST wird häufig zum Sammeln von Formulardaten nach dem Absenden eines HTML-Formulars mit method="post" verwendet. $_POST wird häufig auch zum Übergeben von Variablen verwendet.

Das folgende Beispiel zeigt ein Formular mit Eingabefeldern und einem Absenden-Button. Wenn der Benutzer auf die Schaltfläche „Senden“ klickt, um die Daten zu senden, werden die Formulardaten an die Datei gesendet, die im Aktionsattribut des -Tags angegeben ist. In diesem Beispiel geben wir die Datei selbst an, die die Formulardaten verarbeiten soll. Wenn Sie eine andere PHP-Seite zur Verarbeitung der Formulardaten verwenden möchten, ändern Sie den Dateinamen in einen Dateinamen Ihrer Wahl. Anschließend können wir die superglobale Variable $_POST verwenden, um den Wert des Eingabefelds zu sammeln:

Instance

<html>
<body>
<form method="post" action="<?php echo $_SERVER[&#39;PHP_SELF&#39;];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php 
$name = $_POST[&#39;fname&#39;]; 
echo $name; 
?>
</body>
</html>
Nach dem Login kopieren

Run Instance

PHP $_GET

PHP $_GET 也可用于收集提交 HTML 表单 (method="get") 之后的表单数据。

$_GET 也可以收集 URL 中的发送的数据。

假设我们有一张页面含有带参数的超链接:

<html>
<body>
<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
</body>
</html>
Nach dem Login kopieren

当用户点击链接 "Test $GET",参数 "subject" 和 "web" 被发送到 "test_get.php",然后您就能够通过 $_GET 在 "test_get.php" 中访问这些值了。

下面的例子是 "test_get.php" 中的代码:

实例

<html>
<body>
<?php 
echo "Study " . $_GET[&#39;subject&#39;] . " at " . $_GET[&#39;web&#39;];
?>
</body>
</html>
Nach dem Login kopieren


Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage