Rukovanje obrascima i korisničkim podacima u PHP-u

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.