PHP registreerimisvorm, kasutades GET-i, POST-i meetodeid koos näitega

Mis on vorm?

Kui logite sisse veebisaidile või oma postkasti, kasutate vormi.

Vorme kasutatakse kasutajalt sisendi saamiseks ja veebiserverisse töötlemiseks esitamiseks.

Allolev diagramm illustreerib vormide käsitlemise protsessi.

PHP vorm

Vorm on HTML-märgend, mis sisaldab graafilise kasutajaliidese elemente, nagu sisestuskast, märkeruudud raadionupud jne.

Vorm määratletakse kasutades … sildid ja GUI üksused määratletakse vormielementide, näiteks sisendi abil.

Millal ja miks me vorme kasutame?

  • Vormid on arenduse ajal kasulikudping paindlikud ja dünaamilised rakendused, mis aktsepteerivad kasutaja sisendit.
  • Vormide abil saab muuta andmebaasis juba olemasolevaid andmeid

Looge vorm

Vormi koostamiseks kasutame HTML-märgendeid. Allpool on minimaalne nimekiri asjadest, mida vajate vormi loomiseks.

  • Vormi siltide avamine ja sulgemine …
  • Vormi esitamise tüüp POST või GET
  • Esitamine URL mis töötleb esitatud andmeid
  • Sisestusväljad, nagu sisestuskastid, tekstialad, nupud, märkeruudud jne.

Allolev kood loob lihtsa registreerimisvormi

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

Ülaltoodud koodi vaatamine veebibrauseris kuvab järgmise vormi.

Looge vorm

SIIN,

  • … on vormi avamise ja sulgemise sildid
  • action=”registration_form.php” method=”POST”> määrab sihtkoha URL ja esitamise tüüp.
  • Ees-/Perenimi: on sisestuskastide sildid
  • on sisestuskasti sildid
  • on uus rea silt
  • on peidetud väärtus, mida kasutatakse selleks, et kontrollida, kas vorm on esitatud või mitte
  • on nupp, millele klõpsamisel saadetakse vorm töötlemiseks serverisse

Vormi andmete esitamine serverisse

Vormi atribuut „action” määrab esitamise. URL mis andmeid töötleb. Atribuut „method” määrab esitamise tüübi.

PHP POST meetod

  • See on PHP sisseehitatud globaalse massiivi muutuja, mida kasutatakse HTTP POST meetodi kaudu esitatud väärtuste hankimiseks.
  • Massiivimuutujale pääseb juurde mis tahes programmi skriptist; sellel on globaalne ulatus.
  • See meetod on ideaalne, kui te ei soovi vormi postituse väärtusi kuvada. URL.
  • Hea näide postitamismeetodi kasutamisest on sisselogimisandmete esitamine serverisse.

Sellel on järgmine süntaks.

<?php
 $_POST['variable_name'];
?>

SIIN,

  • "$_POST[…]" on PHP massiiv
  • „'muutuja_nimi'” on URL muutuja nimi.

PHP GET meetod

  • See on PHP sisseehitatud globaalse massiivi muutuja, mida kasutatakse HTTP GET-meetodi kaudu esitatud väärtuste hankimiseks.
  • Massiivimuutujale pääseb juurde mis tahes programmi skriptist; sellel on globaalne ulatus.
  • See meetod kuvab vormi väärtused URL.
  • See sobib ideaalselt otsingumootori vormide jaoks, kuna võimaldab kasutajatel tulemusi broneerida.

Sellel on järgmine süntaks.

<?php
$_GET['variable_name'];
?>

SIIN,

  • "$_GET[…]" on PHP massiiv
  • „'muutuja_nimi'” on URL muutuja nimi.

GET vs POST meetodid

POST GET
Väärtused pole nähtavad URL Väärtused, mis on nähtavad URL
Väärtuste pikkus ei ole piiratud, kuna need esitatakse HTTP põhiosa kaudu Väärtuste pikkusele on tavaliselt piirang 255 tähemärki. See on tingitud asjaolust, et väärtused kuvatakse URLPange tähele, et tähemärkide ülempiir sõltub brauserist.
Sellel on madalam jõudlus võrreldes meetodiga Php_GET, kuna HTTP kehas olevate Php_POST väärtuste kapseldamiseks kulub aega Omab POST-meetodiga võrreldes kõrget jõudlust tänu väärtuste lisamise lihtsusele. URL.
Toetab paljusid erinevaid andmetüüpe, nagu string, numbriline, binaarne jne. Toetab ainult stringandmetüüpe, kuna väärtused kuvatakse URL
Tulemusi ei saa raamatusse märkida Tulemusi saab järjehoidjatesse märkida, kuna väärtused on nähtavad. URL

Allolev diagramm näitab erinevust hankimise ja postitamise vahel

GET vs POST meetodid

GET vs POST meetodid

Registreerimisvormi andmete töötlemine

Registreerimisvorm esitab endale andmed vastavalt vormi action atribuudile.

Kui vorm on esitatud, sisestatakse väärtused $_POST superglobaalsesse massiivi.

Kasutame PHP isset funktsiooni, et kontrollida, kas vormi väärtused on massiivi $_POST täidetud ja andmeid töödelda.

Muudame registreerimisvormi, et lisada PHP-kood, mis töötleb andmeid. Allpool on muudetud kood

<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="/et/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>

SIIN,

  • kontrollib, kas massiivi $_POST[] peidetud väli form_submitted on täidetud ja kuvab tänu- ja eesnimesõnumi.

    Kui massiivi $_POST[] välja form_fobmitted ei ole täidetud, kuvatakse vorm.

Veel näiteid

Lihtne otsingumootor

Kujundame lihtsa otsingumootori, mis kasutab vormi esitamise tüübina meetodit PHP_GET.

Lihtsuse huvides kasutame a PHP Ifi avaldus väljundi määramiseks.

Kasutame ülaltoodud registreerimisvormi jaoks sama HTML-koodi ja teeme selles minimaalseid muudatusi.

<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="/et/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>

Vaadake ülaltoodud lehte veebibrauseris

Kuvatakse järgmine vorm

Lihtne otsingumootor

Tippige suurtähtedega GET ja klõpsake nuppu Esita.

Kuvatakse järgmine

Lihtne otsingumootor

Allolev diagramm näitab URL ülaltoodud tulemuste jaoks

Lihtne otsingumootor

Pange tähele URL on kuvanud otsingu_termi ja vormi_submitted väärtusi. Proovige sisestada midagi muud, kui GET, seejärel klõpsake nuppu Esita ja vaadake, milliseid tulemusi saate.

Töötamine märkeruutude, raadionuppudega

Kui kasutaja märkeruutu või raadionuppu ei vali, väärtust ei esitata, kui kasutaja märgib linnukese või raadionupu, esitatakse väärtus üks (1) või tõene.

Muudame registreerimisvormi koodi ja lisame kontrollnupu, mis võimaldab kasutajal nõustuda teenusetingimustega.

<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="/et/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>

Vaadake ülaltoodud vormi brauseris

Märkeruutude, raadionuppudega töötamine

Täida ees- ja perekonnanimi

Pange tähele, et märkeruut Nõustun teenusetingimustega pole märgitud.

Klõpsake nuppu Esita

Saate järgmised tulemused

Märkeruutude, raadionuppudega töötamine

Klõpsake tagasi vormi lingile ja seejärel märkige ruut

Märkeruutude, raadionuppudega töötamine

Klõpsake nuppu Esita

Saate järgmised tulemused

Märkeruutude, raadionuppudega töötamine

kokkuvõte

  • Kasutajatelt andmete saamiseks kasutatakse vorme
  • Vormid luuakse HTML-märgendite abil
  • Vorme saab serverisse töötlemiseks esitada kas POST või GET meetodil
  • POST-meetodil esitatud vormi väärtused on kapseldatud HTTP kehasse.
  • GET-meetodi kaudu esitatud vormi väärtused lisatakse ja kuvatakse URL.

Võta see postitus kokku järgmiselt: