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.
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.
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
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
Írja be nagybetűvel a GET-et, majd kattintson a küldés gombra.
A következő jelenik meg
Az alábbi diagram a fenti eredmények URL-jét mutatja
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
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
Kattintson a vissza az űrlap hivatkozására, majd jelölje be a jelölőnégyzetet
Kattintson a beküldés gombra
A következő eredményeket kapja
Ö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.