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 obrasci rade: HTML obrazac prikuplja korisničke unose putem polja poput tekstualnih okvira, potvrdnih okvira i gumba, a zatim ih šalje poslužiteljskom skriptu.
  • 📬 POST metoda: $_POST šalje vrijednosti u HTTP tijelu, keeping ih izvan URL, što odgovara prijavama i osjetljivim podacima.
  • 🔗 GET metoda: $_GET dodaje vrijednosti u URL, tako da se rezultati mogu označiti, što je idealno za obrasce za pretraživanje.
  • ⚖️ POST u odnosu na GET: POST nema praktičnog ograničenja duljine i podržava mnoge tipove podataka; GET je kraći, sadrži samo nizove znakova i vidljiv je.
  • Ulaz za obradu: Funkcija isset() provjerava je li polje poslano prije nego što skripta pročita i koristi njegovu vrijednost.
  • ☑️ Potvrdni okviri: Potvrdni okvir šalje vrijednost samo kada je označen, pa isset() potvrđuje je li korisnik pristao ili odabrao opciju.
  • 🤖 AI pomoć: Alati umjetne inteligencije mogu generirati validirani, sigurni obrazac i pomoći u dijagnosticiranju zašto se obrazac ne šalje ispravno.

Obrada PHP obrazaca

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

PHP obrazac

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.

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

GET vs POST metode

GET vs POST metode

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.

Jednostavna tražilica

Upišite GET velikim slovima, a zatim kliknite gumb za slanje.

Bit će prikazano sljedeće.

Jednostavna tražilica

Donji dijagram prikazuje URL za gore navedene rezultate.

Jednostavna tražilica

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.

Rad s potvrdnim okvirima, radio gumbima

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.

Rad s potvrdnim okvirima, radio gumbima

Kliknite na poveznicu za povratak na obrazac, a zatim označite potvrdni okvir.

Rad s potvrdnim okvirima, radio gumbima

Kliknite gumb za slanje.

Dobit ćete sljedeće rezultate.

Rad s potvrdnim okvirima, radio gumbima

Pitanja i odgovori

$_GET čita vrijednosti iz URL niz upita, $_POST čita vrijednosti iz tijela zahtjeva, a $_REQUEST spaja GET, POST i podatke kolačića. Dajte prednost određenom nizu kako biste točno znali odakle je vrijednost došla.

Nikada ne vjerujte sirovom ulazu. Validirajte s filter_var() ili pravilima za svako polje i izbjegavajte izlaz s htmlspecialchars() kako biste zaustavili XSS. Koristite pripremljene naredbe za pisanje u bazu podataka kako biste spriječili SQL injekciju.

Uobičajeni uzroci su metoda obrasca GET umjesto POST, nedostajući atributi imena na ulazima, pogrešna radnja URLili nedostaje višedijelni enctype za prijenos datoteka. Provjerite svaki od ovih elemenata u svom obrascu.

Da. Umjetna inteligencija može izraditi HTML obrazac uz validaciju na strani poslužitelja, CSRF zaštitu i izlazni kod. RevPregledajte pravila za svako polje i potvrdite da sigurnosne provjere odgovaraju vašoj aplikaciji prije implementacije.

Da. Podijelite obrazac i rukovatelj, a umjetna inteligencija može uočiti neusklađenost metoda, nedostajući atribut imena, netočan put akcije ili granu validacije koja blokira slanje, a zatim predložiti ispravak.

Sažmite ovu objavu uz: