Vrlo često postaje potrebno prenijeti podatke iz klijentskog preglednika u poslužiteljsku datoteku sa skriptom za obradu tih podataka. Pogledajmo kako točno organizirati prijenos php parametara u skriptu.
Nužno je
Osnovno znanje PHP i HTML jezika
Upute
Korak 1
Za prijenos podataka iz web obrazaca u HTTP (HyperText Transfer Protocol) predviđene su dvije metode - GET i POST. Razlikuju se u načinu na koji se prenose iz klijentske aplikacije (preglednika) u poslužiteljsku aplikaciju (izvršna php skripta). GET metoda za to koristi adresnu traku. Odnosno, imena i vrijednosti njemu prenesenih varijabli dodaju se izravno na adresu skripte (ili URL - Uniform Resource Locator) pomoću upitnika (?). Na primjer, URL može izgledati ovako:
Ovdje se skripti search.php prosljeđuje varijabla imena num s vrijednošću 30, varijabla newwindow s vrijednošću 1 i varijabla safe s vrijednošću isključeno. Poslužitelj je, primivši takav zahtjev, putem "?" razdvaja adresu datoteke, a sve ostalo dijeli na parove imena i vrijednosti varijabli. Rezultirajući parovi popunjavaju se u $ _GET polju iz kojeg će ih php skripta navedena u adresi moći izvući. U najjednostavnijem obliku, html kôd obrasca za slanje ovih podataka iz preglednika na poslužitelj pomoću metode GET može izgledati ovako:
A najjednostavnija php skripta za primanje ovih podataka je sljedeća:
<? php
$ num = $ _GET ['num'];
$ novi prozor = $ _GET ['novi prozor'];
$ sigurno = $ _GET ['sigurno'];
?>
Najznačajniji nedostaci prosljeđivanja varijabli pomoću GET metode:
- ograničena količina podataka, jer duljina URL-a ne može premašiti 255 znakova;
- ovom se metodom ne mogu prenijeti svi znakovi html koda;
- preneseni podaci su vidljivi korisniku, što sa sigurnosnog gledišta nije uvijek prihvatljivo;
Korak 2
Te se neugodnosti i ograničenja mogu izbjeći korištenjem druge metode - POST. Za prijenos zaglavlja podataka koristi posebna područja mrežnih paketa. U svim ostalim aspektima razlike između ovih metoda su minimalne - u gore navedenom obliku slanja podataka promijenit će se samo naziv metode:
A u php skripti, samo ime niza podataka:
<? php
$ num = $ _POST ['num'];
$ novi prozor = $ _POST ['novi prozor'];
$ sigurno = $ _POST ['sigurno'];
?>