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 | STARTE |
|---|---|
| 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.










