Die PHP-Variablen $_GET und $_POST

Es gibt zwei Methoden, um Daten vom Client-Browser an den Webserver zu senden:
  • Die GET
  • Die Methode POST
Die gesendeten Daten werden in den PHP-Variablen $_GET und $_POST gespeichert, die Teil der globalen Variablen sind und aufgerufen werden können irgendwo im PHP-Code. Die beiden Variablen $_GET und $_POST werden verwendet, um die Informationen zu lesen, die aus dem HTML-Code mit den Methoden get und post in eine Tabelle gesendet und vom PHP-Server erfasst werden. Mit anderen Worten, die Variablen $_GET und $_POST ermöglichen es den Seiten, miteinander zu kommunizieren.

Die folgende HTML-Seite enthält ein HTML-Formular mit Eingabeelementen unterschiedlicher Art: Text, Passwort, Checkbox, Radio, Auswahl... Wenn der Benutzer diese Elemente ausfüllt und auf die Schaltfläche "Senden" klickt, werden die Daten in die Zieldatei "exemple.php" übertragen, die im action-Attribut des Formulars angegeben ist.

Das folgende Bild zeigt ein Beispiel für ein HTML-Formular mit der GET-Methode und das von der Seite erfasste Ergebnis PHP.

Beispiel für ein HTML- und PHP-Formular

Die GET-Methode

Die GET-Methode sendet die codierten Informationen an die Zielseite. Die Seite und die codierten Informationen werden durch das Zeichen getrennt. ?

http://www.exemple.com/index.php?name1=valeur1& name2=value2
Werfen wir einen Blick auf das folgende HTML-Formular. Im Formularelement müssen Sie in der "method" angeben, wie Sie die Informationen an den Server senden möchten.

< form action="imprime_infos.php" method="GET"> 
Benutzername: < input type="text" name="name" />
Alter: < input type="text" name="age" />
< input type="submit" value="Submit">


Beispiel für ein HTML-Formular mit get-Methode

In der Datei "imprime_infos.php" haben wir die Variable $_GET verwendet, um die empfangenen Werte (Name und Alter) zu sammeln.

 if( $_GET["name"] || $_GET["age"] ) {
echo "Hallo". $_GET['Name']. "< br/>";
echo "Du hast". $_GET['Alter']. " Jahre.";
}
?>
Nachdem wir den Code unter dem WampServer-Server ausgeführt haben, haben wir das obige Ergebnis erhalten, dessen Informationen in der Adressleiste sichtbar sind.

$_GET and form

- Die GET-Methode erzeugt eine lange Zeichenfolge, die im Serverprotokoll und im Browserverlauf angezeigt wird.
- Die Anzahl der mit der GET-Methode gesendeten Zeichen ist auf nur 1024 Zeichen begrenzt. Wir können also keinen langen Text senden.
- Verwenden Sie niemals die GET-Methode, um vertrauliche Informationen wie Passwort oder Kreditkartennummer und -code zu senden.
- GET kann keine Binärdaten wie Bilder und Dokumente an den Server senden.
- Auf die von der GET-Methode gesendeten Daten kann mit den Umgebungsvariablen zugegriffen werden: QUERY_STRING.
- PHP hat ein $_GET-Array, um auf alle Informationen zuzugreifen, die mit dem GET.
- GET sollte nur zum Abrufen von Informationen verwendet werden.

Der POST

Wie oben beschrieben, ist die GET-Methode überhaupt nicht sicher, und daher hat dies PHP-Entwickler dazu veranlasst, eine effiziente Lösung zu entwickeln, um die Informationen zu senden, ohne dass sie in der Adressleiste erscheinen. Darüber hinaus ist GET auf 1024 Zeichen begrenzt. Daher ist es besser, die Daten eines Formulars mit der POST-Methode zu senden. Die POST-Methode funktioniert wie die GET-Methode, ist jedoch sicherer als GET, da die Werte nicht in der Adressleiste des Browsers sichtbar sind und nicht im Browserverlauf gespeichert werden.

Um POST zu verwenden, Setzen Sie das Schlüsselwort POST anstelle von GET.

< form action="imprime_infos.php" method="POST"> 
Benutzername: < input type="text" name="name" />
Alter: < input type="text" name="age" />
< input type="submit" value="Submit">
Und um die Informationen zu sammeln, verwenden Sie die Variable $_POST:

 if( $_POST["name"] || $_POST["age"] ) {
echo "Hallo". $_POST['Name']. "< br/>";
echo "Du hast". $_POST['Alter']. " Jahre.";
}
?>
Die Laufzeit zeigt, dass die Informationen in der Adressleiste nicht sichtbar sind:

Die Variable $_POST und form

Die Vorteile der Verwendung der POST:- Die POST-Methode hat keine Einschränkungen hinsichtlich der Größe der zu sendenden Daten.
- Die gesendeten Daten werden nicht im Browserverlauf gespeichert.
- POST kann zum Senden von Binärdaten verwendet werden.
- Die von der POST-Methode gesendeten Daten werden über den HTTP-Header übergeben, sodass die Sicherheit vom HTTP-Protokoll abhängt. Durch die Verwendung eines sicheren HTTP können Sie sicher sein, dass Ihre Informationen geschützt sind.
- PHP verfügt über ein $_POST-Array, um auf alle Informationen zuzugreifen, die mit der POST.
Die $_REQUESTDie $_REQUEST-Variable enthält den Inhalt von $_GET, $_POST und $_COOKIE. $_REQUEST ist nützlich, um die Daten zu empfangen, falls sie sowohl von der $_GET- als auch von der $_POST.

-Methode stammen Versuchen Sie das folgende Beispiel in der Datei "imprime_infos.php":

 if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "Hallo". $_REQUEST['Name']. "< br/>";
echo "Du hast". $_REQUEST['Alter']. " Jahre.";
}
?>