Vrlo često postaje neophodno prenijeti podatke iz klijentskog pretraživača u datoteku poslužitelja sa skriptom za obradu tih podataka. Pogledajmo tačno kako organizirati prijenos php parametara u skriptu.
Neophodno je
Osnovno znanje PHP i HTML jezika
Instrukcije
Korak 1
Za transport 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 (pretraživača) u serversku aplikaciju (izvršna php skripta). GET metoda za to koristi adresnu traku. Odnosno, imena i vrijednosti njemu prenesenih varijabli dodaju se izravno adresi skripte (ili URL-u - Uniform Resource Locator) pomoću znaka pitanja (?). Na primjer, URL može izgledati ovako:
Ovdje se skripti search.php prosljeđuje varijabla imena num sa vrijednošću 30, varijabla newwindow s vrijednošću 1 i varijabla safe s vrijednošću isključeno. Nakon što je server primio takav zahtjev, "?" razdvaja adresu datoteke, a sve ostalo dijeli na parove imena i vrijednosti varijabli. Rezultirajući parovi popunjavaju se u polje $ _GET, iz kojeg će ih php skripta navedena u adresi moći izvući. U svom najjednostavnijem obliku, html kôd obrasca za slanje ovih podataka iz preglednika na server pomoću GET metode može izgledati ovako:
A najjednostavnija php skripta za primanje ovih podataka je sljedeća:
<? php
$ num = $ _GET ['num'];
$ novi prozor = $ _GET ['novi prozor'];
$ safe = $ _GET ['sigurno'];
?>
Najznačajniji nedostaci prosljeđivanja varijabli pomoću GET metode:
- ograničena količina podataka, jer dužina URL-a ne može biti veća od 255 znakova;
- ovom metodom se ne mogu prenijeti svi znakovi html koda;
- preneseni podaci su vidljivi korisniku, što sa sigurnosne tačke gledišta nije uvijek prihvatljivo;
Korak 2
Ove neugodnosti i ograničenja mogu se 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 ime metode:
A u php skripti, samo ime niza podataka:
<? php
$ num = $ _POST ['num'];
$ novi prozor = $ _POST ['novi prozor'];
$ safe = $ _POST ['sigurno'];
?>