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.










