PHP-Registrierungsformular mit GET- und POST-Methoden mit Beispiel
⚡ Intelligente Zusammenfassung
Die Formularverarbeitung in PHP erfasst Benutzereingaben aus HTML-Formularen und verarbeitet diese serverseitig mithilfe der Superglobalen $_POST und $_GET. Diese Anleitung erstellt ein Registrierungsformular, erklärt die POST- und GET-Methoden, vergleicht sie und zeigt, wie Felder, Kontrollkästchen und Sucheingaben verarbeitet werden.

Was ist Form?
Wenn Sie sich auf einer Website oder in 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, das grafische Benutzeroberflächenelemente wie Eingabefelder, Kontrollkästchen, Optionsfelder und mehr enthält.
Das Formular wird mithilfe des … Tags und GUI-Elemente werden mithilfe von Formularelementen wie Eingabefeldern definiert.
Wann und warum verwenden wir Formulare?
- Formulare sind hilfreich bei der Entwicklungping flexible und dynamische Anwendungen, die Benutzereingaben akzeptieren.
- Mithilfe von Formularen 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
- Einsendung URL das die übermittelten Daten verarbeiten wird
- Eingabefelder wie Eingabefelder, Textbereiche, Schaltflächen, Kontrollkästchen und ähnliches.
Der unten stehende 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 das Ziel an URL und die Art der Einreichung.
- 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 Anklicken das Formular zur Verarbeitung an den Server sendet.
Übermittlung der Formulardaten an den Server
Das Aktionsattribut des Formulars legt die Übermittlung fest. URL das die Daten verarbeitet. Das Attribut „Methode“ gibt den Übermittlungstyp an.
PHP POST-Methode
- Dies ist die in PHP integrierte Superglobal-Array-Variable, die verwendet wird, um Werte zu erhalten, 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 Formular-Post-Werte nicht im URL.
- Ein gutes Beispiel für die Verwendung der POST-Methode ist das Übermitteln von Anmeldedaten an den Server.
Es hat die folgende Syntax.
<?php
$_POST['variable_name'];
?>
HIER,
- „$_POST[…]“ ist das PHP-Array
- „'variable_name'“ ist der Name des Formularfelds.
PHP GET-Methode
- Dies ist die in PHP integrierte Superglobal-Array-Variable, die verwendet wird, um Werte abzurufen, 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.
- Es eignet sich ideal für Suchmaschinenformulare, da es den Benutzern ermöglicht, die Ergebnisse als Lesezeichen zu speichern.
Es hat die folgende Syntax.
<?php
$_GET['variable_name'];
?>
HIER,
- „$_GET[…]“ ist das PHP-Array
- „'variable_name'“ ist der URL Variablennamen.
GET- und POST-Methoden
| jetzt lesen | STARTE |
|---|---|
| Werte, die in der URL | im URL |
| Die Länge der Werte ist nicht beschränkt, da sie über den Body der HTTP-Anfrage übermittelt werden. | Die Länge der Werte ist begrenzt, üblicherweise auf 255 Zeichen. Dies liegt daran, dass die Werte in der URLBeachten Sie, dass die maximale Zeichenanzahl vom Browser abhängt. |
| Die Performance ist im Vergleich zur GET-Methode geringer, da die POST-Werte zeitaufwändig im HTTP-Body gekapselt werden müssen. | Bietet im Vergleich zur POST-Methode eine höhere Leistung, da die Werte einfach angehängt werden. URL. |
| Unterstützt viele verschiedene Datentypen wie Zeichenketten, Zahlen, Binärdaten und mehr. | Unterstützt nur Zeichenketten-Datentypen, da die Werte in der Anzeige angezeigt werden. URL |
| Ergebnisse können nicht als Lesezeichen gespeichert werden. | Die Ergebnisse können aufgrund der Sichtbarkeit der Werte in der URL |
Das folgende Diagramm veranschaulicht den Unterschied zwischen GET und POST.
Verarbeitung der Anmeldeformulardaten
Das Registrierungsformular übermittelt Daten an sich selbst, wie im Aktionsattribut des Formulars angegeben.
Sobald ein Formular abgeschickt wurde, werden die Werte im $_POST-Superglobal-Array gespeichert.
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 Anmeldeformular so anpassen, dass es den PHP-Code zur Datenverarbeitung enthält. Der geänderte Code ist unten aufgeführt.
<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="/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 versteckte Feld „form_submitted“ im Array „$_POST[]“ ausgefüllt ist, und zeigt eine Dankesnachricht mit dem Vornamen an. Ist das Feld „form_submitted“ nicht ausgefüllt, wird das Formular angezeigt.
Weitere Beispiele
Einfache Suchmaschine
Wir werden eine einfache Suchmaschine entwerfen, die die PHP-GET-Methode 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="/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>
Die obige Seite kann in einem Webbrowser angezeigt werden.
Das folgende Formular wird angezeigt.
Geben Sie GET in Großbuchstaben ein und klicken Sie anschließend auf die Schaltfläche „Absenden“.
Folgendes wird angezeigt.
Das untenstehende Diagramm zeigt die URL für die oben genannten Ergebnisse.
Beachten Sie das URL hat den Wert von search_term und form_submitted angezeigt. Versuchen Sie, etwas anderes als GET einzugeben, klicken Sie dann auf die Schaltfläche "Senden" und schauen 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="/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>
Das obige Formular kann in einem Browser angezeigt werden.
Bitte tragen Sie Vor- und Nachnamen ein.
Beachten Sie, dass das Kontrollkästchen „Servicebedingungen akzeptieren“ nicht aktiviert wurde.
Klicken Sie auf die Schaltfläche "Senden".
Sie erhalten die folgenden Ergebnisse.
Klicken Sie auf den Link „Zurück zum Formular“ und wählen Sie dann das Kontrollkästchen aus.
Klicken Sie auf die Schaltfläche "Senden".
Sie erhalten die folgenden Ergebnisse.










