In PHP sind einige Array-Variablen vordefiniert. Auf diese Variablen kann jederzeit überall im Skript zugegriffen werden. Dieser Artikel wird Ihnen diese superglobalen Variablen vorstellen und die Verwendung dieser Variablen kurz verstehen. Ich hoffe, dass er Ihnen hilfreich sein wird. [Video-Tutorial-Empfehlung: PHP-Tutorial]
Was sind superglobale Variablen?
Superglobale Variablen sind integrierte, speziell definierte Array-Variablen in PHP. Sie können superglobale Variablen verwenden, um jederzeit und überall im Skript auf Informationen zuzugreifen. Das heißt, unabhängig vom Umfang können problemlos Informationen über die Anfrage oder ihren Kontext eingeholt werden.
Auf superglobale Variablen kann von jeder Funktion, Klasse oder Datei aus zugegriffen werden, ohne dass eine spezielle Aufgabe wie die Deklaration einer globalen Variablen usw. ausgeführt werden muss. Sie werden hauptsächlich zum Speichern und Abrufen von Informationen von einer Seite zur anderen in der Anwendung verwendet.
Das Folgende ist eine Liste der in PHP verfügbaren superglobalen Variablen:
● $ GLOBALS
● $ _ SERVER
● $ _Request
● $ _get
● $ _ Post
● $ _Session
● $ _Cookie
● $_Files● $ _ENVAls nächstes stellen wir einige der superglobalen Variablen im Detail vor.
$ GLOBALS
$ GLOBALS ist eine super globale Variable, die alle im Skript deklarierten Variablen speichert und für den Zugriff auf eine beliebige Stelle im Skript verwendet werden kann Skript für eine beliebige Variable. PHP speichert alle globalen Variablen im Array $GLOBALS[]. Dieses Array verfügt über einen Index, der den Namen der globalen Variablen enthält und auf den über diesen Namen zugegriffen werden kann. Sehen wir uns an, wie man $GLOBALS verwendet:<?php $x = 300; $y = 200; function multiplication(){ $GLOBALS['z'] = $GLOBALS['x'] * $GLOBALS['y']; } multiplication(); echo $z; ?>Im obigen Code werden zwei globale Variablen $x und $y deklariert und ihnen werden die Werte 300 und 200 zugewiesen . Definieren Sie dann die Funktion multiplication(), um die Werte $x und $y zu multiplizieren und in einer anderen Variablen $z zu speichern, die im Array GLOBAL definiert ist. Wir wissen, dass auf die Variablen $x und $y in der Funktion multiplication() nicht zugegriffen wird, da sie dort nicht deklariert sind, aber wir können dies tun, indem wir über die Array-Variable $GLOBALS darauf zugreifen. Beim Aufruf der Funktion quadrat() wird die Multiplikation der Werte der Variablen $x und $y durchgeführt und kann dann direkt angezeigt werden. Das erhaltene Multiplikationsergebnis, weil die Variable $z auch in der Array-Variable $GLOBALS vorhanden ist. Ausgabe:
$ _SERVER
$ _SERVER ist ein PHP Super Global Variable, die Informationen über den Titel (Header), den Pfad und den Speicherort des Skripts speichert, d. h. sie speichert Informationen über das Web und seine Anfragen. Einige dieser Elemente werden verwendet, um Informationen aus der superglobalen Variablen $_SERVER zu erhalten. In der Variablen $_SERVER werden viele Informationselemente verwendet. Einige davon sind unten aufgeführt:下面我们就来看看如何使用$ _SERVER:
<?php echo $_SERVER['PHP_SELF']; echo "<br>"; echo $_SERVER['SERVER_NAME']; echo "<br>"; echo $_SERVER['HTTP_HOST']; echo "<br>"; echo $_SERVER['HTTP_USER_AGENT']; echo "<br>"; echo $_SERVER['SCRIPT_NAME']; echo "<br>" ?>
输出:
在上面的代码中,我们使用$ _SERVER元素来获取一些信息。我们使用'PHP_SELF'元素获取当前处理的文件名,使用'SERVER_NAME'元素获取当前使用的服务器名称,通过'HTTP_HOST'获取主机名。
$ _REQUEST
$ _REQUEST是一个超全局变量,用于在提交HTML表单后收集数据。$ _REQUEST主要不使用,因为$ _POST和$ _GET执行相同的任务并被广泛使用。
注:$ _REQUEST可能导致安全风险。
下面我们就来看看如何使用$ _REQUEST:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div class="demo"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 用户名: <input type="text" name="fname"> <button type="submit">提交</button> </form> <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = htmlspecialchars($_REQUEST['fname']); if(empty($name)){ echo "用户名为空"; } else { echo "用户名为:".$name; } } ?> </div> </body> </html>
效果图:
在上面的代码中,我们创建了一个表单,该表单将用户名作为输入,并在单击提交按钮时输出显示其名称。我们使用action属性中指定的$ _SERVER ['PHP_SELF']元素将表单中接受的数据传输到同一页面,因为我们使用PHP代码操作同一页面中的数据。使用$ _REQUEST超全局数组变量检索数据。
$ _POST
$ _POST是一个超级全局变量,用于在提交数据后从HTML表单收集数据,当用于传输数据的方法是“POST”时。
当表单使用方法post传输数据时,数据在查询字符串中不可见,即在此方法中保持安全级别。
下面我们就来看看如何使用$ _POST:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <div class="demo"> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> <label for="name">用户名: </label> <input name="name" type="text"><br> <label for="age">年龄: </label> <input name="age" type="number"><br> <input type="submit" value="提交"> </form> <?php $nm=$_POST['name']; $age=$_POST['age']; echo "<strong>姓名:".$nm.", ".$age."岁</strong>"; ?> </div> </body> </html>
在上面的代码中,我们创建了一个表单,该表单接受用户的名称和年龄,并在提交数据时使用$ _POST超级全局变量访问数据。
由于每个超全局变量都是一个数组,因此它可以存储多个值。因此,我们从$ _POST变量中检索名称和年龄,并将它们存储在$ nm和$ age变量中。
效果图:
$ _GET
$ _GET是一个超级全局变量,用于在提交数据后从HTML表单中收集数据。当表单使用“GET”方法获取传输数据时,数据在查询字符串中可见,因此不隐藏值。$ _GET超级全局数组变量存储URL中的值。
下面我们就来看看如何使用$ _GET:
<!DOCTYPE html> <html> <head> <title></title> </head> <body bgcolor="cyan"> <!--demonstration of $_GET--> <h1 id="font-nbsp-color-red-Historic-nbsp-Monument-font"><font color="red">Historic Monument</font></h1> <a href="picture.php?name=QutubMinar&city=Delhi"><img src="/static/imghwm/default1.png" data-src="qutubminar.jpg" class="lazy" alt="Qutubminar" style="max-width:90%" style="max-width:90%"/></a> </body> </html>
我们实际上只看到了一半的逻辑,让我们理解上面的代码,然后看看其余的逻辑。
在上面的代码中,我们创建了一个QutubMinar的超链接图像,它将把我们带到picture.php页面,并带有参数名称=“QutubMinar”和city =“Delhi”。
也就是说,当我们点击QutubMinar的小图片时,我们将带到下一页picture.php以及参数。
由于默认方法是get,因此这些参数将使用get方法传递到下一页,它们将在地址栏中显示。
当我们想要将值传递给地址时,使用问号(?)将它们附加到地址。
然后将参数写为问号(?)后面的键值对,如以下语句中所指定:
<a href="picture.php?name=QutubMinar&city=Delhi"><img src="/static/imghwm/default1.png" data-src="qutubminar.jpg" class="lazy" alt="Qutubminar" style="max-width:90%" style="max-width:90%"/></a>
这里的参数name = QutubMinar会附加到地址。
如果我们想要添加更多值,我们可以在每个键值对之后使用&符号(&)添加它们,类似于在name参数之后使用&符号添加city = Delhi。
现在,在点击QutubMinar的图像之后,我们希望显示picture.php页面,并显示参数值。
所以让我们在picture.php页面中为它编写代码。
<head> <title>QutubMinar</title> </head> <body bgcolor="cyan"> <?php $nm=$_GET['name']; $city=$_GET['city']; echo "<h1 id="nbsp-nbsp-nbsp-nbsp-nbsp-nbsp-nbsp-this-nbsp-is-nbsp-nm-nbsp-of-nbsp-city"> this is ".$nm." of ".$city."</h1><br><br>"; ?> <img src="/static/imghwm/default1.png" data-src="qutubminar.jpg" class="lazy" alt="QutubMinar" style="max-width:90%" style="max-width:90%"/> </body> </html>
在这里,我们使用超全局数组变量$ _GET接收参数name和city的值,并分别存储在变量$ nm和$ city中。
然后使用echo语句显示它们。
QutubMinar的放大图像如下所示。
首先让我们看一下index.php页面运行时的输出。
现在,当我们点击QutubMinar的超链接图像时,我们得到以下输出:
$ _SESSION
$ _SESSION是一个预定义的超全局数组变量,用于记住用户的状态以及他想要在整个会话中检索的值。
以前,对服务器的每个请求都是单独的请求。HTML是一种无状态协议。这意味着它无法记住网站中用户访问的页面。但今天我们使用网站,用户可以让网站记住访问过的网页或之前做过的事情,例如购物网站。
会话(SESSION)的设计原因与此相同;会话可以记住用户登录到注销期间的所有操作。
$ _SESSION数组变量用于存储来自任何页面的值,并在任何其他页面中检索它们,而不在URL中传递它们。
在存储任何变量之前,使用session_start()声明启动会话。
$ _COOKIE
$ _COOKIE是一个超级全局数组变量,用于检索cookie的值。
Cookie是由服务器创建的用于标识用户的小文件。每当用户在互联网上请求某些信息时,该请求就会发送到服务器。如果用户第一次连接到该服务器,则服务器识别他的信息并创建具有给用户的标识号的小文件,并将其附加到发送给用户的响应并存储在用户的计算机中。
在此之后,每当用户向该服务器发送请求时,它都携带cookie文件,由此服务器发送响应而不再检查服务器认证。
$ _FILES
$ _FILES是一个超级全局数组变量,用于将上载文件的信息提供给服务器。我们可以检查上传的文件是否已成功上传;也可以使用$ _FILES变量检索文件的详细信息。
$ _ENV
$ _ENV有助于从Web服务器获取/访问环境变量。
PHP中的环境变量是允许脚本从服务器动态获取某些信息的变量。它支持在不断变化的服务器环境中的脚本灵活性。
使用$ _ENV访问任何环境变量的语法如下:
$_ENV[“variable_name”];
例如,我们可以访问temp_pwd变量,如下所示:
<?php echo “Temporary Password: ”.$_ENV[“temp_pwd”]; ?>
总结:
在这些超级全局数组变量中,变量$ _GET,$ _POST,$ _ SERVER,$ _SESSION被最多使用。$ _REQUEST变量可以执行$ _GET,$ _POST和$ _COOKIE的工作,但需要避免使用它,因为它可能导致安全问题。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!
Das obige ist der detaillierte Inhalt vonWas sind superglobale Variablen in PHP? Wie benutzt man?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

Die Verwendung von Vorverarbeitungsanweisungen und PDO in PHP kann SQL -Injektionsangriffe effektiv verhindern. 1) Verwenden Sie PDO, um eine Verbindung zur Datenbank herzustellen und den Fehlermodus festzulegen. 2) Erstellen Sie Vorverarbeitungsanweisungen über die Vorbereitungsmethode und übergeben Sie Daten mit Platzhaltern und führen Sie Methoden aus. 3) Abfrageergebnisse verarbeiten und die Sicherheit und Leistung des Codes sicherstellen.

PHP und Python haben ihre eigenen Vor- und Nachteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1.PHP eignet sich für eine schnelle Entwicklung und Wartung großer Webanwendungen. 2. Python dominiert das Gebiet der Datenwissenschaft und des maschinellen Lernens.

PHP wird in E-Commerce, Content Management Systems und API-Entwicklung häufig verwendet. 1) E-Commerce: Wird für die Einkaufswagenfunktion und Zahlungsabwicklung verwendet. 2) Content -Management -System: Wird für die Erzeugung der dynamischen Inhalte und die Benutzerverwaltung verwendet. 3) API -Entwicklung: Wird für die erholsame API -Entwicklung und die API -Sicherheit verwendet. Durch Leistungsoptimierung und Best Practices werden die Effizienz und Wartbarkeit von PHP -Anwendungen verbessert.

PHP erleichtert es einfach, interaktive Webinhalte zu erstellen. 1) Generieren Sie Inhalte dynamisch, indem Sie HTML einbetten und in Echtzeit basierend auf Benutzereingaben oder Datenbankdaten anzeigen. 2) Verarbeitungsformularübermittlung und dynamische Ausgabe erzeugen, um sicherzustellen, dass HTMLSpecialChars zur Vorbeugung von XSS verwendet wird. 3) Verwenden Sie MySQL, um ein Benutzerregistrierungssystem zu erstellen und Anweisungen von Password_hash und Preprocessing vorzubereiten, um die Sicherheit zu verbessern. Durch die Beherrschung dieser Techniken wird die Effizienz der Webentwicklung verbessert.

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

PHP ist immer noch dynamisch und nimmt immer noch eine wichtige Position im Bereich der modernen Programmierung ein. 1) Einfachheit und leistungsstarke Unterstützung von PHP machen es in der Webentwicklung weit verbreitet. 2) Seine Flexibilität und Stabilität machen es ausstehend bei der Behandlung von Webformularen, Datenbankoperationen und Dateiverarbeitung; 3) PHP entwickelt sich ständig weiter und optimiert, geeignet für Anfänger und erfahrene Entwickler.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Dreamweaver CS6
Visuelle Webentwicklungstools

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software