Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen $_GET und $_POST in PHP

Der Unterschied zwischen $_GET und $_POST in PHP

一个新手
一个新手Original
2017-09-13 09:13:032326Durchsuche

$_GET und $_POST

Post und Get beziehen sich auf: zwei Möglichkeiten der Seitenübermittlung

get: Parameter werden in der URL widergespiegelt, die zum Umblättern und für einfache Abfragen verwendet werden kann . get kann nur Inhalte mit einer Größe von weniger als 2 KB empfangen. Da der Inhalt außerdem sichtbar ist, ist die Sicherheit verringert. Es gibt keine Größenbeschränkung und es wird nicht in der Adressleiste angezeigt.

$_POST-Variable

$_POST-Variable ist ein Array mit Variablennamen und -werten, die von der HTTP-POST-Methode gesendet werden.

Die Variable $_POST wird verwendet, um Werte aus dem Formular mit method="post" zu sammeln.

Die vom Formular mit der POST-Methode gesendeten Informationen sind für niemanden unsichtbar (werden nicht in der Adressleiste des Browsers angezeigt) und es gibt keine Begrenzung für die Menge der gesendeten Informationen

Warum $_POST verwenden?

Über HTTP POST gesendete Variablen werden nicht in der URL angezeigt.

Es gibt keine Längenbeschränkung für Variablen.

Die Seite kann jedoch nicht mit einem Lesezeichen versehen werden, da die Variable nicht in der URL erscheint.

$_GET-Variable

$_GET-Variable wird verwendet, um Werte aus dem Formular mit method="get" zu sammeln. Intuitiv ist es der Parameter, der im Browser sichtbar ist Ich verwende beispielsweise Baidu. Bei der Suche nach „Wordpress“ war die von mir angeforderte URL http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0, dann die Parameter danach „?“ sind alle in Ordnung. Verwenden Sie $_GET, um die einzelnen Parameter durch „&“ zu trennen.

Die Variable $_GET ist ein Array, das die von der HTTP-GET-Methode gesendeten Variablennamen und -werte enthält.

Die vom Formular mit der GET-Methode gesendeten Informationen sind für jeden sichtbar (werden in der Adressleiste des Browsers angezeigt), und die Menge der gesendeten Informationen ist daher begrenzt (bis zu 100 Zeichen). Die Länge der Parameter ist nicht unendlich, kann aber grundsätzlich unsere Anforderungen erfüllen.

Warum $_GET verwenden?

Hinweis: 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.

Hinweis: Die HTTP-GET-Methode ist nicht für große Variablenwerte geeignet; Werte dürfen 100 Zeichen nicht überschreiten.

****Der Unterschied zwischen $_POST und $_GET:

1 Ersteres kann den übertragenen Inhalt in der URL-Spalte nicht sehen, während letzteres Sie kann den Inhalt in der Spalte der Website sehen

2. Die Get-Methode muss Request.QueryString verwenden, um den Wert der Variablen abzurufen, während die Post-Methode Request.Form verwendet, um auf den übermittelten Inhalt zuzugreifen

3. Die Größe des übertragenen Inhalts ist relativ groß, die Sicherheit ist relativ hoch und die Ausführungseffizienz ist etwas geringer, die Upload-Größe ist relativ gering Die Ausführungseffizienz ist etwas höher

4 , Das Senden von Daten über die Get-Methode bringt Sicherheitsprobleme mit sich, z. B. eine Anmeldeseite. Beim Senden von Daten über die Get-Methode werden der Benutzername und das Passwort auf der Seite angezeigt kann zwischengespeichert werden oder andere Personen können auf den Computer des Kunden zugreifen. Das Konto und das Passwort des Benutzers werden aus historischen Aufzeichnungen abgerufen. Daher wird empfohlen, die Post-Methode für die Formularübermittlung zu verwenden. Dies ist ein häufiges Problem bei Formularseiten, die über die Post-Methode übermittelt werden dass beim Aktualisieren der Seite ein Dialogfeld

Request wird angezeigt. Formular und Request.QueryString empfangen Parameter aus verschiedenen Quellen, während letzteres Parameter von der URL empfängt.

Request.Form: Rufen Sie die per POST übermittelten Daten ab (empfangen Sie die per Form übermittelten Daten);

Request.QueryString: Rufen Sie die Adressleistenparameter ab (per GET übermittelte Daten)

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen $_GET und $_POST in PHP. 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