traži:  
 php.com.hr > Globalne varijable

Globalne varijable
 


Globalne varijable

PHP je opremljen nizom globalnih varijabli u kojima se nalaze razni podatci vezani uz ležeći server, operacijski sustav, informacije o korisniku, cookije te varijable iz formi i Query string.

Popis globalnih varijabli:

 

  • $_POST ili $HTTP_POST_VARS – globalna varijabla sa vrijednostima koje su pristigle iz forme
  • $_GET ili $HTTP_GET_VARS – globalna varijabla sa vrijednostima iz query stringa ili komandne linije
  • $_SERVER ili $HTTP_SERVER_VARS – globalna varijabla sa informacijama o serveru i korisniku
  • $_COOKIE ili $HTTP_COOKIE_VARS – globalna varijabla sa sadržajem cookija
  • $_FILES ili $HTTP_POST_FILES – globalna varijabla sa fileovima koji su uplkodani na server putem forme
  • $_SESSION ili $HTTP_SESSION_VARS – globalna varijabla sa session varijablama

Globalne varijable su same po sebi nizovi iindeksirani na taj način da se na tekstualnom indeksu jedne nalazi vrijednost te varijable.

Recimo na konkretnom primjeru. Uzmimo da smo negdje na siteu kliknuli na link koji nas odvodi na slijedeću adresu:

http://www.server.com/skripta.php?ime=Kreso&id=123

U ovoj adresi je sve prije znaka ? najobičniji URL koji odvodi korisnika na stranicu. Informacije iza znaka ? spadaju pod tzv komandnu liniju ili Query string. Nadalje u ovom tekstu će se ovo zvati GET metoda.

Nakon što se otvori stranica skripta.php na njoj imamo pristup dvijema varijablama koje su proslijeđene skripti GET metodom. One su spremljene u $_GET globalnu varijblu i možemo im pristupiti na više načina.

Prvi, koji je sigurniji i radit će u svim situacijama je pozivanjem varijable iz globalne varijable $_GET

 

<?

echo $_GET['ime']; // ili echo $HTTP_GET_VARS['ime']

?>


GET možemo proslijediti skripti na više načina. Prvi je gore objašnjen – direktnim upisom varijabli u sam URL iza znaka ?.

Drugi način je preko forme koja ima namješten method='GET'. O drugoj metodi će biti više govora u slijedećem odjeljku kada će biti govora o formama.

Generalno pravilo kod globalnih varijabli je da se njihova vrijednost ne može promijeniti direktnim upisom vrijednosti na neki indeks. One su konstante koje namješta sam PHP. Za njihovo namještanje postoje posebne funkcije, ali ovo može biti vrlo velika sigurnosna rupa u aplikaciji. U pravilu globalne varijable namještamo tako da na jednoj stranici namjestimo varijable ili putem forme ili linka sa GET metodom ili registriranjem session ili cookie varijabli. O zadnje dvije metode malo kasnije.

Drugi način za pristup globalnim varijablama je izostavljanjem imena globalne varijable. U ovom slučaju im pristupamo kao i normalnim varijablama preko njihovog originalnog imena.

Za ovo mora u php.ini-ju biti namještena direktiva register_globals na true ili Yes

Za gornji primjer bi to izgledalo ovako:

 

<?

Echo $id;

?>


Ova metoda je vrlo nesigurna. Naime, ne znamo kojom metodom podatak dolazi. Ovako neki militantni hacker može poslati varijable iz forme preko GET metode. Ovo je velika sigurnosna rupa i uvijek treba izbjegavati ovakav pristup globalnim varijablama.
 



PHP
 © 2004 - 2008 php.com.hr