Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST

PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST

WBOY
WBOYOriginal
2021-10-29 16:28:434390Durchsuche

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!

PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST

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[&#39;name&#39;] ."<br/>";
 echo "你的性别是:"  .$_GET[&#39;sex&#39;]."<br/>";
 echo "你的年龄是:".$_GET[&#39;age&#39;];
 ?>

输出结果:

PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST

我们发现我们在表单填写的值,都显示在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[&#39;name&#39;] ."<br/>";
 echo "你的性别是:"  .$_POST[&#39;sex&#39;]."<br/>";
 echo "你的年龄是:".$_POST[&#39;age&#39;];
 ?>

输出结果:

PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST

其中我们看到,我们用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:
🎜🎜PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST🎜🎜Wir haben festgestellt, dass die Werte, die wir in das Formular eingegeben haben, lauten Alles wird in der Mitte der URL-Spalte angezeigt. Wann verwenden wir also method="get"? 🎜🎜Bei Verwendung von 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:
🎜rrreee🎜Der an demo.php übermittelte Inhalt ist:
🎜rrreee🎜Das Ausgabeergebnis:
🎜🎜PHP-Formularlernen: Die Verwendung und der Unterschied der Variablen $_GET und $_POST🎜🎜Wir sehen, dass wir POST zum Einreichen verwenden Informationen werden nicht in der URL-Spalte angezeigt, daher ist POST sicherer als GET. Fassen wir die Unterschiede zwischen $_GET und $_POST zusammen. 🎜🎜<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: 🎜... Häufige VerwendungHäufiger verwendet ist weniger verbreitet als $_GETDie Sicherheit der get-Methode ist schlechter als die der Post-Methode Da vertrauliche Informationen enthalten sind, wird die Verwendung der Post-Datenübermittlungsmethode empfohlen. 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; Wenn Sie interessiert sind, können Sie auf „

$_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
Aus dem Unterschied können wir schließen:
PHP-Video-Tutorial

“ 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!

Stellungnahme:
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