PHP-rekisteröintilomake GET-, POST-menetelmillä esimerkin kanssa

Mikä on muoto?

Kun kirjaudut sisään verkkosivustolle tai postilaatikkoosi, olet vuorovaikutuksessa lomakkeen kanssa.

Lomakkeita käytetään syötteiden vastaanottamiseen käyttäjältä ja lähettämiseen web-palvelimelle käsittelyä varten.

Alla oleva kaavio havainnollistaa lomakkeiden käsittelyprosessia.

PHP-lomake

Lomake on HTML-tunniste, joka sisältää graafisia käyttöliittymäkohteita, kuten syöttöruudun, valintaruutujen valintanapit jne.

Lomake määritetään käyttämällä … tagit ja GUI-kohteet määritellään käyttämällä lomakeelementtejä, kuten syötettä.

Milloin ja miksi käytämme lomakkeita?

  • Lomakkeet ovat hyödyllisiä kehitettäessä joustavia ja dynaamisia sovelluksia, jotka hyväksyvät käyttäjän syötteen.
  • Lomakkeilla voidaan muokata jo olemassa olevia tietokannan tietoja

Luo lomake

Käytämme HTML-tageja lomakkeen luomiseen. Alla on vähimmäisluettelo asioista, joita tarvitset lomakkeen luomiseen.

  • Lomaketunnisteiden avaaminen ja sulkeminen …
  • Lomakkeen lähetystyyppi POST tai GET
  • Lähetyksen URL-osoite, joka käsittelee lähetetyt tiedot
  • Syöttökentät, kuten syöttöruudut, tekstialueet, painikkeet, valintaruudut jne.

Alla oleva koodi luo yksinkertaisen rekisteröintilomakkeen

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

Yllä olevan koodin tarkastelu selaimessa näyttää seuraavan lomakkeen.

Luo lomake

TÄSSÄ,

  • … ovat avaus- ja sulkemislomakkeet
  • action=”registration_form.php” method=”POST”> määrittää kohde-URL-osoitteen ja lähetystyypin.
  • Etu-/sukunimi: ovat syöttöruutujen tarrat
  • ovat syöttöruututunnisteita
  • on uusi rivitunniste
  • on piilotettu arvo, jota käytetään tarkistamaan, onko lomake lähetetty vai ei
  • on painike, jota napsautettuna lähettää lomakkeen palvelimelle käsittelyä varten

Lomaketietojen lähettäminen palvelimelle

Lomakkeen action-attribuutti määrittää lähetyksen URL-osoitteen, joka käsittelee tiedot. Metod-attribuutti määrittää lähetyksen tyypin.

PHP POST -menetelmä

  • Tämä on PHP:n sisäänrakennettu superglobaali taulukkomuuttuja, jota käytetään HTTP POST -menetelmällä lähetettyjen arvojen saamiseen.
  • Taulukkomuuttujaa voidaan käyttää mistä tahansa ohjelman komentosarjasta; sillä on globaali ulottuvuus.
  • Tämä menetelmä on ihanteellinen, kun et halua näyttää lomakkeen postausarvoja URL-osoitteessa.
  • Hyvä esimerkki post-menetelmän käytöstä on kirjautumistietojen lähettäminen palvelimelle.

Sillä on seuraava syntaksi.

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

TÄSSÄ,

  • "$_POST[…]" on PHP-taulukko
  • "'muuttujan_nimi" on URL-muuttujan nimi.

PHP GET -menetelmä

  • Tämä on PHP:n sisäänrakennettu superglobaali taulukkomuuttuja, jota käytetään HTTP GET -menetelmällä lähetettyjen arvojen hakemiseen.
  • Taulukkomuuttujaa voidaan käyttää mistä tahansa ohjelman komentosarjasta; sillä on globaali ulottuvuus.
  • Tämä menetelmä näyttää lomakearvot URL-osoitteessa.
  • Se on ihanteellinen hakukonelomakkeille, koska sen avulla käyttäjät voivat merkitä tulokset.

Sillä on seuraava syntaksi.

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

TÄSSÄ,

  • "$_GET[…]" on PHP-taulukko
  • "'muuttujan_nimi" on URL-muuttujan nimi.

GET vs POST -menetelmät

POST SAA
Arvot eivät näy URL-osoitteessa Arvot näkyvät URL-osoitteessa
Ei rajoita arvojen pituutta, koska ne lähetetään HTTP-tekstin kautta Arvojen pituuden rajoitus on yleensä 255 merkkiä. Tämä johtuu siitä, että arvot näkyvät URL-osoitteessa. Huomaa, että merkkien yläraja riippuu selaimesta.
Sen suorituskyky on heikompi verrattuna Php_GET-menetelmään, koska HTTP-tekstin Php_POST-arvot kapseloivat aikaa. Sillä on korkea suorituskyky verrattuna POST-menetelmään, koska arvojen liittäminen URL-osoitteeseen on yksinkertaista.
Tukee monia erilaisia ​​tietotyyppejä, kuten merkkijono, numeerinen, binääri jne. Tukee vain merkkijonotietotyyppejä, koska arvot näkyvät URL-osoitteessa
Tuloksia ei voi merkitä kirjaan Tulokset voidaan merkitä kirjanmerkiksi URL-osoitteen arvojen näkyvyyden vuoksi

Alla oleva kaavio näyttää eron hankinnan ja postauksen välillä

GET vs POST -menetelmät

GET vs POST -menetelmät

Rekisteröintilomakkeen tietojen käsittely

Rekisteröintilomake lähettää itselleen tiedot lomakkeen action-määritteen mukaisesti.

Kun lomake on lähetetty, arvot täytetään $_POST superglobaalissa taulukossa.

Käytämme PHP isset -funktiota tarkistaaksemme, ovatko lomakkeen arvot täytetty $_POST-taulukossa ja käsittelemme tiedot.

Muokkaamme rekisteröintilomaketta sisältämään tietoja käsittelevän PHP-koodin. Alla on muokattu koodi

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

TÄSSÄ,

  • tarkistaa, onko form_submitted piilotettu kenttä täytetty $_POST[]-taulukossa ja näyttää kiitos- ja etunimiviestin.

    Jos form_fobmitted-kenttää ei ole täytetty $_POST[]-taulukossa, lomake tulee näkyviin.

Lisää esimerkkejä

Yksinkertainen hakukone

Suunnittelemme yksinkertaisen hakukoneen, joka käyttää PHP_GET-menetelmää lomakkeen lähetystyyppinä.

Käytämme yksinkertaisuuden vuoksi a PHP If -lauseke tuotoksen määrittämiseksi.

Käytämme samaa HTML-koodia yllä olevaan rekisteröintilomakkeeseen ja teemme siihen pieniä muutoksia.

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

Katso yllä oleva sivu verkkoselaimella

Seuraava lomake näytetään

Yksinkertainen hakukone

Kirjoita GET isolla kirjaimella ja napsauta Lähetä-painiketta.

Seuraavat tiedot näytetään

Yksinkertainen hakukone

Alla oleva kaavio näyttää yllä olevien tulosten URL-osoitteet

Yksinkertainen hakukone

Huomaa, että URL-osoitteessa on haun_termi ja muoto_lähetetty arvot. Yritä kirjoittaa jotain muuta kuin GET ja napsauta sitten Lähetä-painiketta ja katso, mitä tuloksia saat.

Työskentely valintaruutujen, radiopainikkeiden kanssa

Jos käyttäjä ei valitse valintaruutua tai valintanappia, arvoa ei lähetetä, jos käyttäjä valitsee valintaruudun tai valintanapin, arvo yksi (1) tai tosi lähetetään.

Muokkaamme rekisteröintilomakkeen koodia ja lisäämme siihen tarkistuspainikkeen, jonka avulla käyttäjä voi hyväksyä palveluehdot.

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

Katso yllä oleva lomake selaimessa

Työskentely valintaruutujen, valintanappien kanssa

Täytä etu- ja sukunimi

Huomaa, että Hyväksyn käyttöehdot -valintaruutua ei ole valittu.

Napsauta Lähetä-painiketta

Saat seuraavat tulokset

Työskentely valintaruutujen, valintanappien kanssa

Napsauta takaisin lomakelinkkiä ja valitse sitten valintaruutu

Työskentely valintaruutujen, valintanappien kanssa

Napsauta Lähetä-painiketta

Saat seuraavat tulokset

Työskentely valintaruutujen, valintanappien kanssa

Yhteenveto

  • Lomakkeita käytetään tietojen saamiseksi käyttäjiltä
  • Lomakkeet luodaan käyttämällä HTML-tageja
  • Lomakkeet voidaan lähettää palvelimelle käsiteltäväksi joko POST- tai GET-menetelmällä
  • POST-menetelmällä lähetetyt lomakearvot kapseloidaan HTTP-tekstiin.
  • GET-menetelmällä lähetetyt lomakearvot liitetään ja näytetään URL-osoitteessa.