Php 4 – Küresel Değişkenler (Globals – Cookie – Server)
$GLOBALS Değişkeni
Globals değişkenleri fonksiyonlar içerisindeki değişkenlere ulaşabilmek için veya farklı bir sayfadaki değişkenlere erişebilmek için tanımlarız. Ne demek bu?
<?php $isim = "mylmz.in"; ?>
Bu kodu diyelimki kod1.php de tutuyoruz.. kod1.php’yi farklı bir dosyaya include ettiğimizde echo $isim yazarsak hata verecektir. Çünkü $isim dediğimiz değişkeni tanımlı görmeyecektir.
Farklı bir sayfada bulunan bir değişkeni tanımlı gösterebilmek için sadece include etmek yetmiyor yani..
<?php $GLOBALS["isim"]= "mylmz.in"; ?>
Bu şekilde tanımlama yaparsak bu dosyayı include ettiğimiz her dosyada $isim yazmamız halinde tanımlı gözükecektir.
Farklı olarak kullanım:
<?php function test() { $foo = "yerel değişken"; echo '$foo küresel alanda: ' . $GLOBALS["foo"] . "\n"; echo '$foo yerel alanda: ' . $foo . "\n"; } $foo = "Örnek içerik"; test(); ?>
$_SERVER Değişkeni
Sunucu ile ilgili bilgilerin tutulduğu değişken türüdür. Değişken bir dizi değişkenidir. Bilgiler dizi içerisinde tutulduğu için hangi bilgiyi çekmek istiyorsanız diziye o değeri girmeniz gerekmektedir. Bazı örnekler aşağıdadır..
<?php $_SERVER['DOCUMENT_ROOT']: /home/kullanici/public_html $_SERVER['GATEWAY_INTERFACE']: CGI/1.1 $_SERVER['HTTP_ACCEPT']: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 $_SERVER['HTTP_ACCEPT_CHARSET']: ISO-8859-9,utf-8;q=0.7,*;q=0.7 $_SERVER['HTTP_ACCEPT_ENCODING']: gzip, deflate $_SERVER['HTTP_ACCEPT_LANGUAGE']: tr-tr,tr;q=0.8,en-us;q=0.5,en;q=0.3 $_SERVER['HTTP_CACHE_CONTROL']: max-age=0 $_SERVER['HTTP_CONNECTION']: keep-alive $_SERVER['HTTP_COOKIE']: __utma=87175051.545214919... $_SERVER['HTTP_HOST']: www.mylmz.in $_SERVER['HTTP_USER_AGENT']: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 $_SERVER['PATH']: /bin:/usr/bin $_SERVER['QUERY_STRING']: id=1614 $_SERVER['REDIRECT_QUERY_STRING']: id=1614 $_SERVER['REDIRECT_STATUS']: 200 $_SERVER['REDIRECT_UNIQUE_ID']: TnXUfbiaTRoAAFVzBqEAAAAP $_SERVER['REDIRECT_URL']: /bilgisayar/1614/$_SERVER-global-dizisi-ve-degiskenleri/index.html $_SERVER['REMOTE_ADDR']: 78.182.68.159 $_SERVER['REMOTE_PORT']: 3897 $_SERVER['REQUEST_METHOD']: GET $_SERVER['REQUEST_URI']: /bilgisayar/1614/$_SERVER-kuresel-degiskenler $_SERVER['SCRIPT_FILENAME']: /home/kullanici/public_html/bilgisayar.php $_SERVER['SCRIPT_NAME']: /bilgisayar.php $_SERVER['SERVER_ADDR']: 184.154.77.26 $_SERVER['SERVER_ADMIN']: web_master [at] mylmz[dot] in $_SERVER['SERVER_NAME']: www.mylmz.in $_SERVER['SERVER_PORT']: 80 $_SERVER['SERVER_PROTOCOL']: HTTP/1.1 $_SERVER['SERVER_SIGNATURE']: $_SERVER['SERVER_SOFTWARE']: Apache $_SERVER['UNIQUE_ID']: TnXUfbiaTRoAAFVzBqEAAAAP $_SERVER['PHP_SELF']: /bilgisayar.php $_SERVER['REQUEST_TIME']: 1316344958 $_SERVER['argv']: Array $_SERVER['argc']: 1 ?>
$_COOKIE Değişkeni
Sayfaya gelen ziyaretçileri tekrardan tanımak için bilgisayarlarına çerez(cookie) bırakılır. Bu bir metin dosyasıdır.
Tanımlaması şu şekildedir:
<?php setcookie('adsoyad','Muammer Muhsin Yılmaz',time()+60); echo $_COOKIE['adsoyad']; ?>
$_SESSION Değişkeni
Türkçe olarak “Oturum” manasına gelen session sunucu üzerinde nesneler tutularak ziyaretçi hakkında bilgi saklanmasıdır.
<?php session_start(); $_SESSION["adsoyad"] = "Muammer Muhsin Yılmaz"; ?>
Bu değeri tekrar görebilmek için farklı bir sayfada yapmamız gereken:
<?php session_start(); echo $_SESSION["adsoyad"]; ?>