PHP - GET & POST Methoden
Es gibt zwei Möglichkeiten, wie der Browser-Client Informationen an den Webserver senden kann.
- Die GET-Methode
- Die POST-Methode
Bevor der Browser die Informationen sendet, codiert er sie mit einem Schema namens URL-Codierung. In diesem Schema werden Name / Wert-Paare mit Gleichheitszeichen verbunden und verschiedene Paare durch das kaufmännische Und getrennt.
name1=value1&name2=value2&name3=value3
Leerzeichen werden entfernt und durch das Zeichen + ersetzt , und alle anderen nicht alphanumerischen Zeichen werden durch hexadezimale Werte ersetzt. Nachdem die Informationen verschlüsselt wurden, werden sie an den Server gesendet.
Die GET-Methode
Die GET-Methode sendet die codierten Benutzerinformationen, die an die Seitenanforderung angehängt sind. Die Seite und die verschlüsselten Informationen werden durch die getrennt? Charakter.
http://www.test.com/index.htm?name1=value1&name2=value2
Die GET-Methode erzeugt eine lange Zeichenfolge, die in Ihren Serverprotokollen im Feld Speicherort: des Browsers angezeigt wird.
Die GET-Methode darf nur bis zu 1024 Zeichen senden.
Verwenden Sie niemals die GET-Methode, wenn Sie ein Kennwort oder andere vertrauliche Informationen haben, die an den Server gesendet werden sollen.
GET kann nicht zum Senden von Binärdaten wie Bildern oder Word-Dokumenten an den Server verwendet werden.
Auf die von der GET-Methode gesendeten Daten kann mit der Umgebungsvariablen QUERY_STRING zugegriffen werden.
Das PHP bietet $_GET assoziatives Array für den Zugriff auf alle gesendeten Informationen mithilfe der GET-Methode.
Probieren Sie das folgende Beispiel aus, indem Sie den Quellcode in das Skript test.php einfügen.
<?php
if( $_GET["name"] || $_GET["age"] ) {
echo "Welcome ". $_GET['name']. "<br />";
echo "You are ". $_GET['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "GET">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
Es wird das folgende Ergebnis erzeugt -
Die POST-Methode
Die POST-Methode überträgt Informationen über HTTP-Header. Die Informationen werden wie im Fall der GET-Methode beschrieben codiert und in einen Header namens QUERY_STRING eingefügt.
Die POST-Methode unterliegt keiner Einschränkung der zu sendenden Datengröße.
Die POST-Methode kann zum Senden von ASCII- und Binärdaten verwendet werden.
Die von der POST-Methode gesendeten Daten werden über den HTTP-Header gesendet, sodass die Sicherheit vom HTTP-Protokoll abhängt. Mit Secure HTTP können Sie sicherstellen, dass Ihre Informationen sicher sind.
Das PHP bietet $_POST assoziatives Array für den Zugriff auf alle gesendeten Informationen mithilfe der POST-Methode.
Probieren Sie das folgende Beispiel aus, indem Sie den Quellcode in das Skript test.php einfügen.
<?php
if( $_POST["name"] || $_POST["age"] ) {
if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) {
die ("invalid name and name should be alpha");
}
echo "Welcome ". $_POST['name']. "<br />";
echo "You are ". $_POST['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "POST">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
Es wird das folgende Ergebnis erzeugt -
Die Variable $ _REQUEST
Die Variable PHP $ _REQUEST enthält den Inhalt von $ _GET, $ _POST und $ _COOKIE. Wir werden die Variable $ _COOKIE diskutieren, wenn wir uns mit Cookies befassen.
Die Variable PHP $ _REQUEST kann verwendet werden, um das Ergebnis aus Formulardaten abzurufen, die sowohl mit der GET- als auch mit der POST-Methode gesendet wurden.
Probieren Sie das folgende Beispiel aus, indem Sie den Quellcode in das Skript test.php einfügen.
<?php
if( $_REQUEST["name"] || $_REQUEST["age"] ) {
echo "Welcome ". $_REQUEST['name']. "<br />";
echo "You are ". $_REQUEST['age']. " years old.";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "POST">
Name: <input type = "text" name = "name" />
Age: <input type = "text" name = "age" />
<input type = "submit" />
</form>
</body>
</html>
Hier enthält die Variable $ _PHP_SELF den Namen des Selbstskripts, in dem sie aufgerufen wird.
Es wird das folgende Ergebnis erzeugt -