Shumë shpesh bëhet e nevojshme transferimi i të dhënave nga një shfletues i klientit në një skedar serveri me një skenar për përpunimin e këtyre të dhënave. Le të shohim saktësisht se si të organizojmë transferimin e parametrave php në skript.
Është e nevojshme
Njohuri themelore të gjuhëve PHP dhe HTML
Udhëzimet
Hapi 1
Për të transportuar të dhëna nga format e uebit në HTTP (Protokolli i Transferimit HyperText) ofrohen dy metoda - GET dhe POST. Ato ndryshojnë në mënyrën e transmetimit të tyre nga aplikacioni i klientit (shfletuesi) në aplikacionin e serverit (skenari i ekzekutueshëm php). Metoda GET përdor shiritin e adresave për këtë. Kjo do të thotë, emrat dhe vlerat e variablave të kaluara në të janë bashkangjitur direkt në adresën e shkrimit (ose URL - Locator Uniform Resource) përmes një pikëpyetjeje (?). Për shembull, URL mund të duket kështu:
Këtu, skriptit search.php i kalon një ndryshore me emrin num me një vlerë 30, një dritare e re me një vlerë prej 1, dhe një kasafortë me një vlerë të fikur. Serveri, pasi ka marrë një kërkesë të tillë, nga "?" ndan adresën e skedarit dhe ndan gjithçka tjetër në çifte të emrave dhe vlerave të ndryshueshme. Çiftet që rezultojnë plotësohen në grupin $ _GET, nga i cili skripti php i specifikuar në adresë do të jetë në gjendje t'i nxjerrë ato. Në formën e tij më të thjeshtë, kodi html i formës për dërgimin e këtyre të dhënave nga shfletuesi te serveri duke përdorur metodën GET mund të duket kështu:
Dhe skenari më i thjeshtë php për marrjen e këtyre të dhënave është si ky:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['sigurt'];
?>
Disavantazhet më të rëndësishme të kalimit të variablave duke përdorur metodën GET:
- sasi e kufizuar e të dhënave, pasi që gjatësia e URL nuk mund të kalojë 255 karaktere;
- jo të gjithë personazhet e kodit html mund të transferohen me këtë metodë;
- të dhënat e transmetuara janë të dukshme për përdoruesit, gjë që nuk është gjithmonë e pranueshme nga pikëpamja e sigurisë;
Hapi 2
Këto shqetësime dhe kufizime mund të shmangen duke përdorur një metodë tjetër - POST. Ai përdor zona të veçanta të paketave të rrjetit për të transferuar - headers të të dhënave. Në të gjitha aspektet e tjera, ndryshimet midis këtyre metodave janë minimale - në formën e mësipërme të dërgimit të të dhënave, vetëm emri i metodës do të ndryshojë:
Dhe në skenarin php, vetëm emri i grupit të të dhënave:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['sigurt'];
?>