PHP-Registrierungsformular mit GET- und POST-Methoden mit Beispiel

Was ist Form?

Wenn Sie sich auf einer Website oder bei Ihrem anmelden mail box, Sie interagieren 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, das grafische Benutzeroberflächenelemente wie Eingaben enthält box, prüfen boxes Optionsfelder usw.

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 Eingabe boxes, Textbereiche, Schaltflächen, überprüfenboxes 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>

wetteifernwing Der obige Code in einem Webbrowser zeigt Folgendes anwing Form.

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.
  • Vor-/Nachname: sind Beschriftungen für die Eingabe boxes
  • werden eingegeben box 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 die Übermittlung von Login-Datentails zum Server.

Es hat folgendeswing 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 folgendeswing 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 in der Regel auf 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 Zeichenfolgendatentypen, 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

Die folgendenwing Formular wird angezeigt

Einfache Suchmaschine

Geben Sie GET in Großbuchstaben ein und klicken Sie dann auf die Schaltfläche „Senden“.

Die folgendenwing wird gezeigt

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 Scheck boxes, Optionsfelder

Wenn der Benutzer keinen Scheck auswählt box oder Optionsfeld wird kein Wert übermittelt, wenn der Benutzer einen Scheck auswählt box oder Optionsfeld 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 Check boxes, Optionsfelder

Geben Sie den Vor- und Nachnamen ein

Beachten Sie das Häkchen „Akzeptieren Sie die Nutzungsbedingungen“.box wurde nicht ausgewählt.

Klicken Sie auf die Schaltfläche Senden

Sie erhalten Folgendeswing Ergebnisse

Arbeiten mit Check boxes, Optionsfelder

Klicken Sie auf „Zurück zum Formularlink“ und wählen Sie dann den Scheck ausbox

Arbeiten mit Check boxes, Optionsfelder

Klicken Sie auf die Schaltfläche Senden

Sie erhalten Folgendeswing Ergebnisse

Arbeiten mit Check boxes, Optionsfelder

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.