Prilikom izrade web aplikacija uobičajeno je imati obrasce koji korisnicima omogućuju unos podataka. U PHP-u možemo obraditi slanje obrazaca i obraditi korisničke podatke. U ovom ćemo članku istražiti kako rukovati obrascima i korisničkim podacima u PHP-u.
Izrada HTML obrazaca
Za izradu HTML obrasca koristimo oznaku <form> zajedno s raznim elementima unosa kao što su <input>, <select> i <textarea>. Evo primjera jednostavnog obrasca:
<form method="POST" action="process.php">
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<input type="submit" value="Submit">
</form>
U gornjem primjeru imamo obrazac s dva polja za unos imena i e-pošte. Atribut obrasca method postavljen je na "POST", a action atribut specificira URL na koji će se poslati podaci obrasca.
Rukovanje podnošenjem obrazaca
Da bismo obradili slanje obrazaca u PHP-u, moramo stvoriti zasebnu PHP datoteku koja će obraditi poslane podatke. Evo primjera osnovne skripte za obradu obrasca:
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];
// Perform validation and data processing here
// Redirect to a thank you page
header('Location: thankyou.php');
exit;
}
?>
U gornjoj skripti koristimo superglobal $_POST za pristup podacima obrasca poslanim metodom "POST". Vrijednosti polja obrasca možemo dohvatiti koristeći njihova odgovarajuća imena( name i email u ovom slučaju). Zatim možemo izvršiti sve potrebne provjere i obradu podataka.
Nakon obrade podataka obrasca, uobičajeno je preusmjeriti korisnika na stranicu zahvale ili drugu odgovarajuću stranicu. U primjeru koristimo header() funkciju za slanje zaglavlja preusmjeravanja pregledniku.
Provjera korisničkog unosa
Provjera korisničkog unosa ključna je za osiguranje integriteta i sigurnosti podataka. PHP nudi različite funkcije i tehnike za provjeru valjanosti unosa, kao što su filter_var() regularni izrazi. Evo primjera provjere adrese e-pošte:
$email = $_POST['email'];
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Email is valid
} else {
// Invalid email
}
U gornjem primjeru koristimo filter_var() funkciju s FILTER_VALIDATE_EMAIL filtrom za provjeru valjanosti adrese e-pošte. Ako je email ispravan, možemo nastaviti s daljnjom obradom. U suprotnom, možemo ispravno riješiti pogrešku.
Čišćenje korisničkog unosa
Čišćenje korisničkog unosa pomaže u sprječavanju sigurnosnih ranjivosti kao što su SQL injection i cross-site scripting(XSS). PHP nudi funkcije kao što htmlspecialchars() su i funkcije specifične za bazu podataka za sanaciju. Evo primjera dezinfekcije korisničkog unosa:
$name = $_POST['name'];
$sanitizedName = htmlspecialchars($name, ENT_QUOTES, 'UTF-8');
// Use the sanitized name for further processing
U gornjem primjeru koristimo se htmlspecialchars() funkcijom za dezinfekciju imena koje je naveo korisnik. Ova funkcija pretvara posebne znakove u njihove HTML entitete, sprječavajući potencijalno umetanje HTML-a ili skripte.
Zaključno, rukovanje obrascima i korisničkim podacima bitan je dio PHP web razvoja. Stvaranjem HTML obrazaca, obradom podnesenih obrazaca, provjerom korisničkog unosa i čišćenjem podataka možemo osigurati integritet i sigurnost naših aplikacija.



