Die PHP-Variablen $_GET und $_POST
Es gibt zwei Methoden, um Daten vom Client-Browser an den Webserver zu senden:
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.
In der Datei "imprime_infos.php" haben wir die Variable $_GET verwendet, um die empfangenen Werte (Name und Alter) zu sammeln.
- Die GET
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.
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=value2Werfen 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">
In der Datei "imprime_infos.php" haben wir die Variable $_GET verwendet, um die empfangenen Werte (Name und Alter) zu sammeln.
phpNachdem wir den Code unter dem WampServer-Server ausgeführt haben, haben wir das obige Ergebnis erhalten, dessen Informationen in der Adressleiste sichtbar sind.
if( $_GET["name"] || $_GET["age"] ) {
echo "Hallo". $_GET['Name']. "< br/>";
echo "Du hast". $_GET['Alter']. " Jahre.";
}
?>
- 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.
Die Vorteile der Verwendung der POST:- Die POST-Methode hat keine Einschränkungen hinsichtlich der Größe der zu sendenden Daten.
< form action="imprime_infos.php" method="POST">Und um die Informationen zu sammeln, verwenden Sie die Variable $_POST:
Benutzername: < input type="text" name="name" />
Alter: < input type="text" name="age" />
< input type="submit" value="Submit">
phpDie Laufzeit zeigt, dass die Informationen in der Adressleiste nicht sichtbar sind:
if( $_POST["name"] || $_POST["age"] ) {
echo "Hallo". $_POST['Name']. "< br/>";
echo "Du hast". $_POST['Alter']. " Jahre.";
}
?>
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":
php
if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "Hallo". $_REQUEST['Name']. "< br/>";
echo "Du hast". $_REQUEST['Alter']. " Jahre.";
}
?>
-Methode stammen Versuchen Sie das folgende Beispiel in der Datei "imprime_infos.php":
php
if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "Hallo". $_REQUEST['Name']. "< br/>";
echo "Du hast". $_REQUEST['Alter']. " Jahre.";
}
?>