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.
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.
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
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
Tippige suurtähtedega GET ja klõpsake nuppu Esita.
Kuvatakse järgmine
Allolev diagramm näitab URL ülaltoodud tulemuste jaoks
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
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
Klõpsake tagasi vormi lingile ja seejärel märkige ruut
Klõpsake nuppu Esita
Saate järgmised tulemused
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.










