Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST
Im vorherigen Artikel habe ich Ihnen „Wie überprüfe ich die E-Mail-Adresse und die URL im Formular beim Erlernen von PHP-Formularen?“ vorgestellt. 》, das ausführlich in das Wissen über die Überprüfung von E-Mails und URLs in Formularen in PHP einführt. In diesem Artikel werfen wir einen Blick auf die Variablen $_GET und $_POST in PHP. Hoffe, es hilft allen!
In früheren Artikeln haben wir gelernt, wie man erforderliche Daten validiert und wie man E-Mails und URLs in Formularen durch reguläre Ausdrücke validiert. Dazu gehören die Variable $_GET
und die Variable $_POST
. Als nächstes werfen wir einen Blick auf die Variable $_GET
und $ _POST
Verwandte Kenntnisse über die Verwendung von Variablen. $_GET
变量与$_POST
变量的影子,接下来我们就来看一看$_GET
变量与$_POST
变量使用的相关知识。
<span style="font-size: 20px;">PHP $_GET </span>
变量
我们前面在学习的时候已经了解到了 $_GET
变量用于收集来自 method="get"
的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。其实也可以看成是通过 URL 参数传递给当前脚本的变量的数组。
在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
接下来我们通过示例来看一下:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="demo.php" method="get"> 名字: <input type="text" name="name"><br> 性别:<input type="radio" name="sex" value="男" checked>男 <input type="radio" name="sex" value="女">女<br> 年龄: <input type="text" name="age"><br> <input type="submit" value="提交"> </form> </body> </html>
提交到demo.php的内容为:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo "你的姓名是:" .$_GET['name'] ."<br/>"; echo "你的性别是:" .$_GET['sex']."<br/>"; echo "你的年龄是:".$_GET['age']; ?>
输出结果:
我们发现我们在表单填写的值,都显示在Url栏中。那么我们在什么时候使用 method="get"呢。
在 HTML 表单中使用 method="get"
时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法!然而,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
其中需要注意的是:HTTP GET 方法不适合大型的变量值。它的值是不能超过 2000 个字符的。
<strong><span style="font-size: 20px;">$_POST</span></strong>
变量
在上述示例中我们讲到了$_GET
变量,接下来我们就来看一下$_POST
变量,预定义的 $_POST
变量用于收集来自 method="post"
的表单中的值。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的也不会像$_GET
变量一样显示在浏览器的地址栏,并且对发送信息的量也没有限制。然而,默认情况下,POST 方法的发送信息的量最大值为 8 MB,可以通过设置 php.ini
文件中的 post_max_size
进行更改。
接下来我们通过示例来看一下:
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <form action="demo.php" method="post"> 名字: <input type="text" name="name"><br> 性别:<input type="radio" name="sex" value="男" checked>男 <input type="radio" name="sex" value="女">女<br> 年龄: <input type="text" name="age"><br> <input type="submit" value="提交"> </form> </body> </html>
其中提交到demo.php的内容为:
<?php header("Content-type:text/html;charset=utf-8"); //设置编码 echo "你的姓名是:" .$_POST['name'] ."<br/>"; echo "你的性别是:" .$_POST['sex']."<br/>"; echo "你的年龄是:".$_POST['age']; ?>
输出结果:
其中我们看到,我们用POST提交的信息,没有在Url 栏中显示,所以,POST 比GET 要更为安全一点。下面我们来总结一下$_GET与$_POST的区别。
<strong><span style="font-size: 20px;">$_GET</span></strong>
与$_POST
的区别
get
是从服务器上获取数据,post
<span style="font-size: 20px;">PHP $_GET </span>
Variable Wir haben bereits erfahren, dass die Variable $_GET
zum Sammeln von Werten in der Form method="get"
verwendet wird. Informationen, die von einem Formular mit der GET-Methode gesendet werden, sind für jeden sichtbar (wird in der Adressleiste des Browsers angezeigt), und es gibt Grenzen für die Menge der gesendeten Informationen. Tatsächlich kann es auch als Array von Variablen betrachtet werden, die über URL-Parameter an das aktuelle Skript übergeben werden. Bei Verwendung von $_GET-Variablen werden alle Variablennamen und -werte in der URL angezeigt. Daher sollte diese Methode nicht zum Senden von Passwörtern oder anderen vertraulichen Informationen verwendet werden. Da die Variablen jedoch in der URL erscheinen, können Sie die Seite mit einem Lesezeichen versehen. In manchen Fällen ist dies nützlich. Als nächstes schauen wir uns ein Beispiel an: rrreee
Der an demo.php übermittelte Inhalt ist:rrreee
Das Ausgabeergebnis:method="get"
in einem HTML-Formular werden alle Variablennamen und -werte in der URL angezeigt. Sie sollten diese Methode also nicht beim Versenden von Passwörtern oder anderen sensiblen Informationen verwenden! Da die Variablen jedoch in der URL erscheinen, können Sie die Seite mit einem Lesezeichen versehen. In manchen Fällen ist dies nützlich. 🎜🎜Es ist zu beachten, dass die HTTP-GET-Methode nicht für große Variablenwerte geeignet ist. Sein Wert darf 2000 Zeichen nicht überschreiten. 🎜🎜<strong><span style="max-width:90%">$_POST</span></strong>
Variablen🎜🎜Im obigen Beispiel haben wir über die Variable $_GET
gesprochen. Werfen wir einen Blick auf die vordefinierte Variable $_POST
Die Variable $_POST
wird verwendet, um Werte aus dem Formular in der method="post"
zu sammeln. 🎜🎜Die vom Formular mit der POST-Methode gesendeten Informationen sind für niemanden sichtbar und werden nicht wie die Variable $_GET
in der Adressleiste des Browsers angezeigt und haben keinen Einfluss auf die Menge der gesendeten Informationen . Es gibt auch keine Grenzen. Standardmäßig beträgt die maximale Menge an Informationen, die von der POST-Methode gesendet werden, jedoch 8 MB, was durch Festlegen von post_max_size
in der Datei php.ini
geändert werden kann. 🎜🎜Als nächstes schauen wir uns ein Beispiel an:<strong><span style="max-width:90%">$_GET</span></strong>
Der Unterschied zu $_POST
🎜🎜get
besteht darin, Daten vom Server abzurufen, und post
dazu Daten an den Server übermitteln. 🎜🎜get fügt die Parameterdatenwarteschlange der URL hinzu, auf die das ACTION-Attribut des übermittelten Formulars verweist. Der Wert entspricht jedem Feld im Formular eins zu eins und ist in der URL sichtbar. Post verwendet den HTTP-Post-Mechanismus, um jedes Feld im Formular und seinen Inhalt im HTML-HEADER zu platzieren und an die URL-Adresse zu übertragen, auf die das ACTION-Attribut verweist. Benutzer können diesen Vorgang nicht sehen. 🎜🎜Für die Get-Methode verwendet die Serverseite Request.QueryString, um den Wert der Variablen abzurufen. Für die Post-Methode verwendet die Serverseite Request.Form, um die übermittelten Daten abzurufen. 🎜🎜Die von get übertragene Datenmenge ist gering und darf nicht größer als 2 KB sein. Die auf dem Postweg übermittelten Datenmengen sind relativ groß und unterliegen grundsätzlich keiner Beschränkung. Theoretisch beträgt die maximale Menge jedoch 80 KB in IIS4 und 100 KB in IIS5. 🎜🎜 Die Get-Sicherheit ist sehr niedrig, die Post-Sicherheit ist hoch. Die Ausführungseffizienz ist jedoch besser als bei der Post-Methode. 🎜🎜Die Unterschiede zwischen den beiden sind in einer Tabelle aufgeführt. Die Tabelle sieht wie folgt aus: 🎜$_GET | $_POST | |
---|---|---|
Anzeige in der URL | Die Anzahl der in der URL angezeigten Zeichen ist begrenzt |
Wird nicht in der URL angezeigt |
Übermittelte Daten In Bezug auf das Volumen | handelt es sich im Allgemeinen um eine kleine Datenmenge von weniger als 2 KB. | PHP kann standardmäßig eine große Menge von 8 Millionen Daten übermitteln. |
In Bezug auf die Sicherheit ist | nicht sicher. | ist relativ sicher |
Häufige Verwendung | Häufiger verwendet | ist weniger verbreitet als $_GET |
Aus dem Unterschied können wir schließen: | ||
Bei der Datenabfrage wird die Verwendung der Get-Methode empfohlen. Beim Hinzufügen, Ändern oder Löschen von Daten wird die Verwendung der Post-Methode empfohlen Methode; |
“ klicken. Erfahren Sie mehr über PHP.
Das obige ist der detaillierte Inhalt vonPHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!