AEQ-WEB

PHP7 KURS - HTML Forms POST & GET
PHP7 Kurs
17.07.2018

PHP7 Kurs - POST & GET

Zu diesem Artikel gibt es auch ein Video auf Youtube: PHP7 Kurs - GET und POST Formulare


In diesem Kapitel erklären wir den Unterschied zwischen POST & GET und wie Eingaben mit PHP verarbeitet werden. Dazu wird ein einfaches HTML-Formular erstellt, das mit beiden Methoden getestet werden kann. Außerdem erklären wir, wie die Datenübertragung im Grundsätzlichen funktioniert.


Was ist POST und GET

Diese beiden Methoden haben eigentlich keinen direkten Zusammenhang mit PHP, da es zu HTML gehört. Diese beiden Methoden kommen dann zum Einsatz, wenn beispielsweiße Daten (Formulare oder auch Dateien) von einem Client an den Server gesendet werden sollen. Im einfachsten Fall ist das eine Login Seite. Hier muss der Webseitenbesucher ein HTML-Formular ausfüllen, wo er einen Benutzername und ein Passwort eingeben muss. Anschließend wird auf einen Button (meist Login oder Einloggen genannt) gedrückt. Jetzt werden die ausgefüllten Felder an den Server gesendet. PHP empfängt diese Daten anschließend und kann überprüfen ob die eingegeben Daten korrekt sind.


PHP GET

Bei der Verwendung von GET, werden alle Daten über die URL an den Server gesendet. Eine URL sieht dann beispielsweise so aus: https://www.aeq-web.com/?search=php7. Nach dem Fragezeichen am Ende der URL steht der Parametername (search) und nach dem Gleichheitszeichen kommt der Parameter (php7). Alle weiteren Parameter werden mit einem Und-Symbol ergänzt. Das Ende einer URL mit mehreren Paramatern sieht so aus: ?search=php7&site=12&type=mobile. Dazu gibt es jetzt ein PHP-Beispiel, das zwei Parameter ausgibt:


PHP Code:

 
<php
$get1 = $_GET["search"];
$get2 = $_GET["type"];
$output = "Suchbegriff: " . 
$get1 . " " ."Typ: " . $get2;
echo $output;
?>
PHP7 GET Example

PHP POST

PHP POST wird bei Formularen fast immer verwendet. Im Gegensatz zu GET werden hier die Parameter nicht in der URL angezeigt, sondern im Hintergrund an den Server übertragen. Deshalb muss bei Vorgängen, wo persönliche Daten übertragen werden, immer POST verwendet werden. GET-Parameter können zum Beispiel auch bei HTTPS von einem Proxyserver oder einen Provider ohne aufwand ausgelesen werden. Im nächsten Codebeispiel zeigen wir, wie mit einem HTML-Formular ein POST-Parameter an den Server gesendet wird. Anschließend wird dieser von PHP empfangen und angezeigt.


<html>
<body>
<?php
if(isset($_POST["firstname"]) && isset($_POST["lastname"])){
echo "<p>Hello " . $_POST["firstname"] . " " .$_POST["lastname"]. "</p>";
}
?>
<form action="" method="POST">
First name:<br>
<input type="text" name="firstname" value="">
<br>
Last name:<br>
<input type="text" name="lastname" value="">
<br><br>
<input type="submit" value="POST">
</form>
</body>
</html>


In diesem Beispiel wird als Erstes der HTML und Body Tag geöffnet. In PHP wird eine IF-Abfrage gestellt, die überprüft ob die POST-Parameter gesetzt sind. Wenn das bei beiden Parametern der Fall ist, so wird die IF-Bedingung ausgeführt. Mit "echo" werden jetzt die beiden Parameter ausgegeben und ein „HELLO“ davor angefügt. Nach dem PHP-Script wird ein HTML-Formular erstellt. Dabei muss im FORM-Tag eine "action" angegeben werden. Mit "action" wird der Pfad angeben, an dem das Formular mit den Daten gesendet werden soll. Wenn das an dieselbe Datei gesendet werden soll, kann die Action leer gelassen werden. Mit "method" wird die Methode definiert. Hier kann GET oder POST verwendet werden. Anschließend kommen die Tags für die Eingabezeilen und den Button. Wenn jetzt beide Felder ausgefüllt werden und mit dem Button abgesendet werden, so sollte anschließend die Eingabe oberhalb der Eingabefelder angezeigt werden.


PHP7 POST Example

Tags :