PHP regisztrációs űrlap GET, POST módszerekkel példával

Mi az a Form?

Amikor bejelentkezik egy webhelyre vagy a postafiókjába, egy űrlapot használ.

Űrlapokat használnak arra, hogy megkapják a felhasználótól származó adatokat, és elküldjék azokat a webszervernek feldolgozásra.

Az alábbi diagram az űrlapkezelési folyamatot szemlélteti.

PHP űrlap

Az űrlap egy HTML-címke, amely grafikus felhasználói felület elemeit tartalmazza, például beviteli mezőt, jelölőnégyzetek rádiógombjait stb.

Az űrlapot a … A címkék és a grafikus felület elemei űrlapelemekkel, például bemenettel vannak meghatározva.

Mikor és miért használunk űrlapokat?

  • Az űrlapok jól jöhetnek rugalmas és dinamikus alkalmazások fejlesztésekor, amelyek elfogadják a felhasználói bevitelt.
  • Az űrlapok segítségével az adatbázisból már meglévő adatokat szerkeszthetünk

Hozzon létre egy űrlapot

Az űrlap létrehozásához HTML címkéket fogunk használni. Az alábbiakban az űrlap létrehozásához szükséges dolgok minimális listája található.

  • Űrlapcímkék megnyitása és bezárása …
  • Az űrlap benyújtásának típusa POST vagy GET
  • Beküldési URL, amely feldolgozza a beküldött adatokat
  • Beviteli mezők, például beviteli mezők, szövegterületek, gombok, jelölőnégyzetek stb.

Az alábbi kód egy egyszerű regisztrációs űrlapot hoz létre

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

A fenti kód webböngészőben való megtekintésekor a következő űrlap jelenik meg.

Hozzon létre egy űrlapot

ITT,

  • … a nyitó és záró űrlapcímkék
  • action=”registration_form.php” method=”POST”> határozza meg a cél URL-t és a beküldés típusát.
  • Keresztnév/Vezetéknév: a beviteli mezők címkéi
  • beviteli mezőcímkék
  • az új sorcímke
  • egy rejtett érték, amely annak ellenőrzésére szolgál, hogy az űrlapot elküldték-e vagy sem
  • az a gomb, amelyre kattintva az űrlapot elküldi a szervernek feldolgozásra

Az űrlap adatainak elküldése a szervernek

Az űrlap action attribútuma határozza meg az adatokat feldolgozó beküldési URL-t. A method attribútum határozza meg a benyújtás típusát.

PHP POST módszer

  • Ez a PHP beépített szuper globális tömbváltozója, amely a HTTP POST metóduson keresztül beküldött értékek lekérésére szolgál.
  • A tömbváltozó a program bármely szkriptjéből elérhető; globális hatálya van.
  • Ez a módszer akkor ideális, ha nem szeretné megjeleníteni az űrlapbejegyzés értékeit az URL-ben.
  • Jó példa a postázási módszer használatára, amikor bejelentkezési adatokat küldünk el a szervernek.

A következő szintaxissal rendelkezik.

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

ITT,

  • A „$_POST[…]” a PHP tömb
  • A „változó_neve” az URL-változó neve.

PHP GET módszer

  • Ez a PHP beépített szuper globális tömbváltozója, amely a HTTP GET metóduson keresztül beküldött értékek lekérésére szolgál.
  • A tömbváltozó a program bármely szkriptjéből elérhető; globális hatálya van.
  • Ez a módszer az űrlapértékeket jeleníti meg az URL-ben.
  • Ideális keresőmotorokhoz, mivel lehetővé teszi a felhasználók számára a találatok könyvjelzőjét.

A következő szintaxissal rendelkezik.

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

ITT,

  • A „$_GET[…]” a PHP tömb
  • A „változó_neve” az URL-változó neve.

GET vs POST módszerek

POST GET
Az értékek nem láthatók az URL-ben Az URL-ben látható értékek
Az értékek hosszát nem korlátozza, mivel azokat a HTTP törzsén keresztül küldik el Az értékek hosszának korlátozása általában 255 karakter. Ennek az az oka, hogy az értékek az URL-ben jelennek meg. Vegye figyelembe, hogy a karakterek felső határa a böngészőtől függ.
Gyengébb a teljesítménye a Php_GET metódushoz képest a HTTP törzsben lévő Php_POST értékek beágyazásával töltött idő miatt Nagy teljesítményű a POST metódushoz képest, az értékek URL-hez való hozzáfűzésének egyszerű természete miatt.
Számos különböző adattípust támogat, mint például karakterlánc, numerikus, bináris stb. Csak karakterlánc-adattípusokat támogat, mivel az értékek az URL-ben jelennek meg
Az eredményeket nem lehet könyvbe jelölni Az eredmények az URL-ben szereplő értékek láthatósága miatt könyvjelzővel is elláthatók

Az alábbi diagram a get és a post közötti különbséget mutatja

GET vs POST módszerek

GET vs POST módszerek

A regisztrációs űrlap adatainak feldolgozása

A regisztrációs űrlap az űrlap action attribútumában meghatározott adatokat küldi be magának.

Az űrlap elküldése után az értékek a $_POST szuper globális tömbbe kerülnek.

A PHP isset függvény segítségével ellenőrizzük, hogy a $_POST tömbben kitöltötték-e az űrlapértékeket, és feldolgozzuk az adatokat.

Módosítjuk a regisztrációs űrlapot, hogy az tartalmazza az adatokat feldolgozó PHP kódot. Alább látható a módosított kód

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

ITT,

  • ellenőrzi, hogy a form_submitted rejtett mező ki van-e töltve a $_POST[] tömbben, és megjelenít egy köszönő és keresztnév üzenetet.

    Ha a form_fobmitted mező nincs kitöltve a $_POST[] tömbben, akkor megjelenik az űrlap.

További példák

Egyszerű kereső

Egy egyszerű keresőt fogunk tervezni, amely a PHP_GET metódust használja űrlap benyújtási típusként.

Az egyszerűség kedvéért a PHP If utasítás a kimenet meghatározásához.

Ugyanazt a HTML-kódot használjuk a fenti regisztrációs űrlaphoz, és minimális módosításokat hajtunk végre rajta.

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

Tekintse meg a fenti oldalt egy webböngészőben

A következő űrlap jelenik meg

Egyszerű kereső

Írja be nagybetűvel a GET-et, majd kattintson a küldés gombra.

A következő jelenik meg

Egyszerű kereső

Az alábbi diagram a fenti eredmények URL-jét mutatja

Egyszerű kereső

Vegye figyelembe, hogy az URL-ben a search_term és a form_submitted értéke látható. Próbáljon meg bármit beírni, ami eltér a GET mezőtől, majd kattintson a Küldés gombra, és nézze meg, milyen eredményeket fog kapni.

Munka jelölőnégyzetekkel, rádiógombokkal

Ha a felhasználó nem jelöl be jelölőnégyzetet vagy választógombot, akkor nem küld be értéket, ha a felhasználó bejelöl egy jelölőnégyzetet vagy választógombot, akkor az egyes (1) vagy igaz érték kerül elküldésre.

Módosítjuk a regisztrációs űrlap kódját, és tartalmazunk egy ellenőrző gombot, amely lehetővé teszi a felhasználó számára, hogy elfogadja a szolgáltatási feltételeket.

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

Tekintse meg a fenti űrlapot böngészőben

Munka a jelölőnégyzetekkel, rádiógombokkal

Töltse ki az utó- és vezetéknevet

Vegye figyelembe, hogy az Agree to Terms of Service jelölőnégyzet nincs bejelölve.

Kattintson a beküldés gombra

A következő eredményeket kapja

Munka a jelölőnégyzetekkel, rádiógombokkal

Kattintson a vissza az űrlap hivatkozására, majd jelölje be a jelölőnégyzetet

Munka a jelölőnégyzetekkel, rádiógombokkal

Kattintson a beküldés gombra

A következő eredményeket kapja

Munka a jelölőnégyzetekkel, rádiógombokkal

Összegzésként

  • Az űrlapokat arra használják, hogy adatokat kapjanak a felhasználóktól
  • Az űrlapok HTML-címkék használatával jönnek létre
  • Az űrlapokat POST vagy GET módszerrel is el lehet küldeni a szerverre feldolgozásra
  • A POST metódussal elküldött űrlapértékek a HTTP törzsbe vannak beágyazva.
  • A GET metódussal beküldött űrlapértékek hozzáfűződnek és megjelennek az URL-ben.