PHP-Registrierungsformular mit GET- und POST-Methoden mit Beispiel
Was ist Form?
Wenn Sie sich bei einer Website oder Ihrem E-Mail-Postfach anmelden, interagieren Sie mit einem Formular.
Formulare werden verwendet, um Eingaben vom Benutzer einzuholen und diese zur Verarbeitung an den Webserver zu übermitteln.
Das folgende Diagramm veranschaulicht den Formularverarbeitungsprozess.
Ein Formular ist ein HTML-Tag, der grafische Benutzeroberflächenelemente wie Eingabefelder, Kontrollkästchen, Optionsfelder usw. enthält.
Das Formular wird mit definiert … Tags und GUI-Elemente werden mithilfe von Formularelementen wie Eingaben definiert.
Wann und warum verwenden wir Formulare?
- Formulare sind praktisch bei der Entwicklung flexibler und dynamischer Anwendungen, die Benutzereingaben akzeptieren.
- Über Formulare können bereits vorhandene Daten aus der Datenbank bearbeitet werden
Erstellen Sie ein Formular
Wir werden HTML-Tags verwenden, um ein Formular zu erstellen. Nachfolgend finden Sie die minimale Liste der Dinge, die Sie zum Erstellen eines Formulars benötigen.
- Formular-Tags öffnen und schließen …
- Formularübermittlungstyp POST oder GET
- Übermittlungs-URL, die die übermittelten Daten verarbeitet
- Eingabefelder wie Eingabefelder, Textbereiche, Schaltflächen, Kontrollkästchen usw.
Der folgende Code erstellt ein einfaches Registrierungsformular
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> </body> </html>
Wenn Sie den obigen Code in einem Webbrowser anzeigen, wird das folgende Formular angezeigt.
HIER,
- … sind die öffnenden und schließenden Formular-Tags
- action=“registration_form.php“ method=“POST“> gibt die Ziel-URL und den Übermittlungstyp an.
- Vorname/Nachname: sind Beschriftungen für die Eingabefelder
- sind Eingabefeld-Tags
- ist das neue Zeilen-Tag
- ist ein versteckter Wert, der verwendet wird, um zu überprüfen, ob das Formular gesendet wurde oder nicht
- ist die Schaltfläche, die beim Klicken das Formular zur Verarbeitung an den Server sendet
Übermittlung der Formulardaten an den Server
Das Aktionsattribut des Formulars gibt die Übermittlungs-URL an, die die Daten verarbeitet. Das Methodenattribut gibt den Übermittlungstyp an.
PHP POST-Methode
- Dies ist die in PHP integrierte Super-Global-Array-Variable, die zum Abrufen von Werten verwendet wird, die über die HTTP-POST-Methode übermittelt werden.
- Auf die Array-Variable kann von jedem Skript im Programm aus zugegriffen werden; es hat eine globale Reichweite.
- Diese Methode ist ideal, wenn Sie die Werte der Formularbeiträge nicht in der URL anzeigen möchten.
- Ein gutes Beispiel für die Verwendung der Post-Methode ist das Senden von Anmeldedaten an den Server.
Es hat die folgende Syntax.
<?php $_POST['variable_name']; ?>
HIER,
- „$_POST[…]“ ist das PHP-Array
- „‚Variablenname‘“ ist der URL-Variablenname.
PHP GET-Methode
- Dies ist die in PHP integrierte Super-Global-Array-Variable, die zum Abrufen von Werten verwendet wird, die über die HTTP-GET-Methode übermittelt werden.
- Auf die Array-Variable kann von jedem Skript im Programm aus zugegriffen werden; es hat eine globale Reichweite.
- Diese Methode zeigt die Formularwerte in der URL an.
- Es ist ideal für Suchmaschinenformulare, da es den Benutzern ermöglicht, die Ergebnisse mit Lesezeichen zu versehen.
Es hat die folgende Syntax.
<?php $_GET['variable_name']; ?>
HIER,
- „$_GET[…]“ ist das PHP-Array
- „‚Variablenname‘“ ist der URL-Variablenname.
GET- und POST-Methoden
jetzt lesen | BESTELLE |
---|---|
Werte, die in der URL nicht sichtbar sind | In der URL sichtbare Werte |
Die Länge der Werte ist nicht begrenzt, da sie über den HTTP-Text übermittelt werden | Die Länge der Werte ist auf normalerweise 255 Zeichen begrenzt. Dies liegt daran, dass die Werte in der URL angezeigt werden. Beachten Sie, dass die Obergrenze der Zeichen vom Browser abhängt. |
Hat im Vergleich zur Php_GET-Methode eine geringere Leistung, da die Kapselung der Php_POST-Werte im HTTP-Body viel Zeit in Anspruch nimmt | Bietet im Vergleich zur POST-Methode eine hohe Leistung, da die Werte einfach an die URL angehängt werden können. |
Unterstützt viele verschiedene Datentypen wie Zeichenfolge, Zahl, Binär usw. | Unterstützt nur String-Datentypen, da die Werte in der URL angezeigt werden |
Ergebnisse können nicht mit einem Lesezeichen versehen werden | Aufgrund der Sichtbarkeit der Werte in der URL können Ergebnisse mit Lesezeichen versehen werden |
Das folgende Diagramm zeigt den Unterschied zwischen get und post
Verarbeitung der Anmeldeformulardaten
Das Registrierungsformular übermittelt Daten an sich selbst, wie im Aktionsattribut des Formulars angegeben.
Wenn ein Formular gesendet wurde, werden die Werte in das superglobale Array $_POST eingefügt.
Wir werden die PHP-Funktion isset verwenden, um zu prüfen, ob die Formularwerte in das Array $_POST eingefügt wurden, und die Daten verarbeiten.
Wir werden das Registrierungsformular so modifizieren, dass es den PHP-Code enthält, der die Daten verarbeitet. Unten ist der geänderte Code
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> //this code is executed when the form is submitted <h2>Thank You <?php echo $_POST['firstname']; ?> </h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p>Go <a href="/de/registration_form.php">back</a> to the form</p> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ? > </body> </html>
HIER,
-
Prüft, ob das ausgeblendete Feld form_submitted im Array $_POST[] ausgefüllt wurde und zeigt eine Dankes- und Vornamennachricht an.
Wenn das Feld form_fobmitted im Array $_POST[] nicht ausgefüllt wurde, wird das Formular angezeigt.
Weitere Beispiele
Einfache Suchmaschine
Wir werden eine einfache Suchmaschine entwerfen, die die Methode PHP_GET als Formularübermittlungstyp verwendet.
Der Einfachheit halber verwenden wir a PHP If-Anweisung um die Ausgabe zu bestimmen.
Wir werden den gleichen HTML-Code für das Registrierungsformular oben verwenden und nur minimale Änderungen daran vornehmen.
<html> <head> <title>Simple Search Engine</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_GET['form_submitted'])): ?> <h2>Search Results For <?php echo $_GET['search_term']; ?> </h2> <?php if ($_GET['search_term'] == "GET"): ?> <p>The GET method displays its values in the URL</p> <?php else: ?> <p>Sorry, no matches found for your search term</p> <?php endif; ?> <p>Go <a href="/de/search_engine.php">back</a> to the form</p> <?php else: ?> <h2>Simple Search Engine - Type in GET </h2> <form action="search_engine.php" method="GET"> Search Term: <input type="text" name="search_term"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Sehen Sie sich die obige Seite in einem Webbrowser an
Das folgende Formular wird angezeigt
Geben Sie GET in Großbuchstaben ein und klicken Sie dann auf die Schaltfläche „Senden“.
Es wird Folgendes angezeigt
Das folgende Diagramm zeigt die URL für die obigen Ergebnisse
Beachten Sie, dass die URL den Wert von „search_term“ und „form_submitted“ angezeigt hat. Versuchen Sie, etwas anderes als GET einzugeben, klicken Sie dann auf die Schaltfläche „Senden“ und sehen Sie, welche Ergebnisse Sie erhalten.
Arbeiten mit Kontrollkästchen und Optionsfeldern
Wenn der Benutzer kein Kontrollkästchen oder Optionsfeld auswählt, wird kein Wert übermittelt. Wenn der Benutzer ein Kontrollkästchen oder Optionsfeld auswählt, wird der Wert Eins (1) oder Wahr übermittelt.
Wir ändern den Code des Registrierungsformulars und fügen eine Check-Schaltfläche ein, die es dem Benutzer ermöglicht, den Nutzungsbedingungen zuzustimmen.
<html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php if (isset($_POST['form_submitted'])): ?> <?php if (!isset($_POST['agree'])): ?> <p>You have not accepted our terms of service</p> <?php else: ?> <h2>Thank You <?php echo $_POST['firstname']; ?></h2> <p>You have been registered as <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?> </p> <p> Go <a href="/de/registration_form2.php">back</a> to the form</p> <?php endif; ?> <?php else: ?> <h2>Registration Form</h2> <form action="registration_form2.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <br> Agree to Terms of Service: <input type="checkbox" name="agree"> <br> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form> <?php endif; ?> </body> </html>
Sehen Sie sich das obige Formular in einem Browser an
Geben Sie den Vor- und Nachnamen ein
Beachten Sie, dass das Kontrollkästchen „Servicebedingungen akzeptieren“ nicht aktiviert wurde.
Klicken Sie auf die Schaltfläche Senden
Sie erhalten folgende Ergebnisse
Klicken Sie auf den Link „Zurück zum Formular“ und aktivieren Sie dann das Kontrollkästchen
Klicken Sie auf die Schaltfläche Senden
Sie erhalten folgende Ergebnisse
Zusammenfassung
- Formulare werden verwendet, um Daten von den Benutzern zu erhalten
- Formulare werden mithilfe von HTML-Tags erstellt
- Formulare können zur Verarbeitung entweder mit der POST- oder GET-Methode an den Server gesendet werden
- Über die POST-Methode übermittelte Formularwerte werden im HTTP-Body gekapselt.
- Über die GET-Methode übermittelte Formularwerte werden angehängt und in der URL angezeigt.