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.

PHP-Formular

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.

Erstellen Sie ein Formular

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

GET- und POST-Methoden

GET- und POST-Methoden

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

Einfache Suchmaschine

Geben Sie GET in GroรŸbuchstaben ein und klicken Sie dann auf die Schaltflรคche โ€žSendenโ€œ.

Es wird Folgendes angezeigt

Einfache Suchmaschine

Das folgende Diagramm zeigt die URL fรผr die obigen Ergebnisse

Einfache Suchmaschine

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

Arbeiten mit Kontrollkรคstchen und Optionsfeldern

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

Arbeiten mit Kontrollkรคstchen und Optionsfeldern

Klicken Sie auf den Link โ€žZurรผck zum Formularโ€œ und aktivieren Sie dann das Kontrollkรคstchen

Arbeiten mit Kontrollkรคstchen und Optionsfeldern

Klicken Sie auf die Schaltflรคche Senden

Sie erhalten folgende Ergebnisse

Arbeiten mit Kontrollkรคstchen und Optionsfeldern

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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: