PHP regisztrációs űrlap GET, POST módszerekkel példával
⚡ Okos összefoglaló
A PHP űrlapkezelési részében a HTML űrlapokból érkező felhasználói bemenetet rögzítjük, és a $_POST és $_GET szuperglobális metódusok segítségével dolgozzuk fel a szerveren. Ez a bemutató egy regisztrációs űrlapot hoz létre, ismerteti a POST és GET metódusokat, összehasonlítja őket, és bemutatja, hogyan kell feldolgozni a mezőket, jelölőnégyzeteket és a keresési bemenetet.

Mi az a Form?
Amikor bejelentkezik egy weboldalra vagy a postaládájába, egy űrlappal lép kapcsolatba.
Ű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 elemeket tartalmaz, például beviteli mezőket, jelölőnégyzeteket, választógombokat és egyebeket.
Az űrlapot a következő használatával definiáljuk: … A címkék és a grafikus felhasználói felület elemei űrlapelemekkel, például az inputtal vannak definiálva.
Mikor és miért használunk űrlapokat?
- Az űrlapok hasznosak fejlesztéskorping rugalmas és dinamikus alkalmazások, amelyek elfogadják a felhasználói bevitelt.
- Az űrlapok segítségével szerkeszthetjük a már meglévő adatokat az adatbázisból.
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
- Submission URL amely feldolgozza a beküldött adatokat
- Beviteli mezők, például beviteli dobozok, szövegterületek, gombok, jelölőnégyzetek és hasonlók.
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
- az action=”registration_form.php” method=”POST” meghatározza a célállomást URL és a beküldés típusa.
- 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 űrlap elküldésre kerül a szervernek feldolgozásra.
Az űrlap adatainak elküldése a szervernek
Az űrlap action attribútuma határozza meg a beküldést. URL amely feldolgozza az adatokat. A method attribútum határozza meg a beküldés típusát.
PHP POST módszer
- Ez a beépített PHP szuperglobális tömbváltozó, amelyet a HTTP POST metóduson keresztül beküldött értékek lekérésére használnak.
- A tömbváltozó a program bármely szkriptjéből elérhető; globális hatálya van.
- Ez a módszer ideális, ha nem szeretné megjeleníteni az űrlap bejegyzéseinek értékeit a URL.
- A POST metódus használatára jó példa a bejelentkezési adatok szerverre küldése.
A következő szintaxissal rendelkezik.
<?php
$_POST['variable_name'];
?>
ITT,
- A „$_POST[…]” a PHP tömb
- A „'változó_neve'” az űrlapmező neve.
PHP GET módszer
- Ez a beépített PHP szuperglobális tömbváltozó, amelyet a HTTP GET metóduson keresztül beküldött értékek lekérésére használnak.
- A tömbváltozó a program bármely szkriptjéből elérhető; globális hatálya van.
- Ez a metódus az űrlap értékeit jeleníti meg a URL.
- Ideális keresőmotor-űrlapokhoz, mivel lehetővé teszi a felhasználók számára az eredmények könyvjelzővel való megjelölését.
A következő szintaxissal rendelkezik.
<?php
$_GET['variable_name'];
?>
ITT,
- A „$_GET[…]” a PHP tömb
- A „'változó_neve'” a URL változó neve.
GET vs POST módszerek
| POST | GET |
|---|---|
| Az értékek nem láthatók a URL | Értékek láthatók a URL |
| Nincs korlátozás az értékek hosszára vonatkozóan, mivel azok a HTTP kérés törzsén keresztül kerülnek elküldésre. | Az értékek hosszára korlátozás vonatkozik, általában 255 karakter. Ez azért van, mert az értékek a URLVegye figyelembe, hogy a karakterek felső korlátja a böngészőtől függ. |
| Alacsonyabb teljesítményt nyújt a GET metódushoz képest, mivel időt vesz igénybe a POST értékek HTTP törzsbe való beágyazása. | Nagyobb teljesítményt nyújt a POST metódushoz képest, mivel az értékeket egyszerűen hozzáfűzi a URL. |
| Számos különböző adattípust támogat, például karakterláncot, numerikusat, binárist és egyebeket. | Csak karakterlánc adattípusokat támogat, mivel az értékek a URL |
| Az eredményeket nem lehet könyvjelzővel ellátni | Az eredmények könyvjelzővel is elláthatók, mivel az értékek láthatók a URL |
Az alábbi ábra 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.
Amikor egy űrlapot elküldtek, az értékek a $_POST szuperglobális tömbben jelennek meg.
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ítani fogjuk a regisztrációs űrlapot, hogy tartalmazzon egy PHP kódot, amely feldolgozza az adatokat. 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="/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őüzenetet és egy keresztnevet. Ha a form_submitted mező nincs kitöltve a $_POST[] tömbben, akkor az űrlap megjelenik.
További példák
Egyszerű kereső
Egy egyszerű keresőmotort fogunk tervezni, amely a PHP GET metódust használja űrlap beküldé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="/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 fog megjelenni.
Írd be nagybetűkkel a GET parancsot, majd kattints a küldés gombra.
A következő fog megjelenni.
Az alábbi ábra mutatja a URL a fenti eredményekért.
Jegyezze fel a URL megjelenítette a search_term és a form_submitted értékeket. Próbálj meg valami mást beírni, mint a GET, majd kattints a küldés gombra, és nézd meg, milyen eredményt kapsz.
Munka jelölőnégyzetekkel, rádiógombokkal
Ha a felhasználó nem jelöl be jelölőnégyzetet vagy választógombot, nem kerül elküldésre érték. Ha a felhasználó kiválaszt egy jelölőnégyzetet vagy választógombot, akkor az egy (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="/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 egy böngészőben.
Írd be a kereszt- és vezetékneveket.
Vegye figyelembe, hogy az Agree to Terms of Service jelölőnégyzet nincs bejelölve.
Kattintson a Küldés gombra.
A következő eredményeket kapja.
Kattintson a vissza az űrlaphoz hivatkozásra, majd jelölje be a jelölőnégyzetet.
Kattintson a Küldés gombra.
A következő eredményeket kapja.










