PHP obrazac za registraciju koristeći GET, POST metode s primjerom
⚡ Pametni sažetak
Obrada obrazaca u PHP-u hvata korisnički unos iz HTML obrazaca i obrađuje ga na poslužitelju putem superglobalnih metoda $_POST i $_GET. Ovaj vodič izrađuje obrazac za registraciju, objašnjava metode POST i GET, uspoređuje ih i pokazuje kako obraditi polja, potvrdne okvire i unos za pretraživanje.

Što je obrazac?
Kada se prijavite na web-stranicu ili u svoj poštanski sandučić, komunicirate s obrascem.
Obrasci se koriste za dobivanje unosa od korisnika i njihovo slanje web poslužitelju na obradu.
Donji dijagram ilustrira postupak rukovanja obrascem.
Obrazac je HTML oznaka koja sadrži elemente grafičkog korisničkog sučelja kao što su okviri za unos, potvrdni okviri, radio gumbi i drugo.
Forma je definirana pomoću ... Oznake i GUI elementi definirani su pomoću elemenata obrasca kao što je input.
Kada i zašto koristimo obrasce?
- Obrasci su korisni prilikom razvojaping fleksibilne i dinamične aplikacije koje prihvaćaju korisnički unos.
- Obrasci se mogu koristiti za uređivanje već postojećih podataka iz baze podataka.
Stvorite obrazac
Koristit ćemo HTML oznake za izradu obrasca. Ispod je minimalni popis stvari koje su vam potrebne za izradu obrasca.
- Otvaranje i zatvaranje oznaka obrazaca …
- Podnošenje obrasca tipa POST ili GET
- Podnošenje URL koji će obraditi poslane podatke
- Polja za unos kao što su okviri za unos, tekstualna područja, gumbi, potvrdni okviri i slično.
Donji kod kreira jednostavan obrazac za registraciju.
<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>
Pregledavanje gornjeg koda u web pregledniku prikazuje sljedeći obrazac.
OVDJE,
- … su oznake za otvaranje i zatvaranje obrasca
- action=”registration_form.php” method=”POST” određuje odredište URL i vrstu podnošenja.
- Ime/Prezime: su oznake za polja za unos
- su oznake okvira za unos
- je oznaka novog retka
- je skrivena vrijednost koja se koristi za provjeru je li obrazac predan ili ne
- je gumb koji, kada se klikne, šalje obrazac poslužitelju na obradu
Slanje podataka obrasca na poslužitelj
Atribut akcije obrasca određuje slanje URL koji obrađuje podatke. Atribut metode određuje vrstu podnošenja.
PHP POST metoda
- Ovo je ugrađena PHP superglobalna varijabla polja koja se koristi za dobivanje vrijednosti poslanih putem HTTP POST metode.
- Varijabli niza može se pristupiti iz bilo koje skripte u programu; ima globalni opseg.
- Ova metoda je idealna kada ne želite prikazati vrijednosti objave obrasca u URL.
- Dobar primjer korištenja POST metode je slanje podataka za prijavu na poslužitelj.
Ima sljedeću sintaksu.
<?php
$_POST['variable_name'];
?>
OVDJE,
- “$_POST[…]” je PHP polje
- „'naziv_varijable'” je naziv polja obrasca.
PHP GET metoda
- Ovo je ugrađena PHP superglobalna varijabla polja koja se koristi za dobivanje vrijednosti poslanih putem HTTP GET metode.
- Varijabli niza može se pristupiti iz bilo koje skripte u programu; ima globalni opseg.
- Ova metoda prikazuje vrijednosti obrasca u URL.
- Idealan je za obrasce tražilica jer korisnicima omogućuje označavanje rezultata.
Ima sljedeću sintaksu.
<?php
$_GET['variable_name'];
?>
OVDJE,
- “$_GET[…]” je PHP polje
- „'naziv_varijable'” je URL naziv varijable.
GET vs POST metode
| POST | GET |
|---|---|
| Vrijednosti nisu vidljive u URL | Vrijednosti vidljive u URL |
| Nema ograničenja duljine vrijednosti jer se šalju putem tijela HTTP zahtjeva. | Ima ograničenje duljine vrijednosti, obično 255 znakova. To je zato što se vrijednosti prikazuju u URLImajte na umu da gornja granica znakova ovisi o pregledniku. |
| Ima niže performanse u usporedbi s GET metodom zbog vremena provedenog u enkapsulaciji POST vrijednosti u HTTP tijelu | Ima veće performanse u usporedbi s POST metodom zbog jednostavnosti dodavanja vrijednosti u URL. |
| Podržava mnoge različite tipove podataka kao što su stringovi, numerički, binarni i drugi. | Podržava samo nizove podataka jer se vrijednosti prikazuju u URL |
| Rezultati se ne mogu označiti | Rezultati se mogu označiti zbog vidljivosti vrijednosti u URL |
Donji dijagram prikazuje razliku između GET i POST naredbi.
Obrada podataka iz upisnice
Obrazac za registraciju sam sebi dostavlja podatke kako je navedeno u atributu akcije obrasca.
Nakon što je obrazac poslan, vrijednosti se popunjavaju u superglobalni niz $_POST.
Koristit ćemo PHP funkciju isset da provjerimo jesu li vrijednosti obrasca ispunjene u $_POST nizu i obradimo podatke.
Izmijenit ćemo obrazac za registraciju kako bismo uključili PHP kod koji obrađuje podatke. Ispod je izmijenjeni kod.
<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>
OVDJE,
- provjerava je li skriveno polje form_submitted u polju $_POST[] popunjeno i prikazuje poruku zahvale i imena. Ako polje form_submitted u polju $_POST[] nije popunjeno, obrazac se prikazuje.
Više primjera
Jednostavna tražilica
Dizajnirat ćemo jednostavnu tražilicu koja koristi PHP GET metodu kao tip za slanje obrasca.
Radi jednostavnosti, koristit ćemo a PHP if naredba za određivanje izlaza.
Koristit ćemo isti HTML kod za gornji obrazac za registraciju i minimalno ga modificirati.
<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>
Pogledajte gornju stranicu u web pregledniku.
Bit će prikazan sljedeći obrazac.
Upišite GET velikim slovima, a zatim kliknite gumb za slanje.
Bit će prikazano sljedeće.
Donji dijagram prikazuje URL za gore navedene rezultate.
Napomena URL prikazao je vrijednost search_term i form_submitted. Pokušajte unijeti bilo što drugačije od GET, zatim kliknite gumb za slanje i pogledajte rezultate.
Rad s potvrdnim okvirima, radio gumbima
Ako korisnik ne odabere potvrdni okvir ili radio gumb, ne šalje se nikakva vrijednost. Ako korisnik odabere potvrdni okvir ili radio gumb, šalje se vrijednost jedan (1) ili istina.
Izmijenit ćemo kod obrasca za registraciju i uključiti gumb za provjeru koji korisniku omogućuje prihvaćanje uvjeta usluge.
<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>
Pogledajte gornji obrazac u pregledniku.
Upišite ime i prezime.
Imajte na umu da potvrdni okvir Prihvaćam uvjete usluge nije odabran.
Kliknite gumb za slanje.
Dobit ćete sljedeće rezultate.
Kliknite na poveznicu za povratak na obrazac, a zatim označite potvrdni okvir.
Kliknite gumb za slanje.
Dobit ćete sljedeće rezultate.










