php-5-global-superglobals

Supergloballer PHP 4.1.0'da tanıtıldı ve tüm kapsamlarda her zaman mevcut olan yerleşik değişkenlerdir.
PHP Global Değişkenler - Süper küreseller
PHP'de önceden tanımlanmış bazı değişkenler "süper küreseller" dir, yani kapsamı ne olursa olsun her zaman erişilebilir olurlar ve özel bir şey yapmadan herhangi bir işlev, sınıf veya dosyadan bunlara erişebilirsiniz.
PHP süper küresel değişkenleri:
$ GLOBALS
$ _SERVER
$ _REQUEST
$ _POST
$ _GET
$ _FILES
$ _ENV
$ _COOKIE
$ _SESSION

PHP $ GLOBALS
$ GLOBALS, PHP betiğinde (aynı zamanda fonksiyonlar veya metotlar dahilinde) global değişkenlere erişmek için kullanılan bir PHP süper global değişkendir.
PHP, tüm global değişkenleri $ GLOBALS [ index ] olarak adlandırılan bir dizide saklar . Indeks değişkenin adını almıştır.
Aşağıdaki örnek, süper global değişken $ GLOBALS'in nasıl kullanılacağını gösterir:
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>

PHP $ _SERVER
$ _SERVER, üstbilgiler, yollar ve komut dizileriyle ilgili bilgileri içeren bir PHP süper global değişkendir.
Aşağıdaki örnekte, $ _SERVER öğesindeki bazı öğelerin nasıl kullanılacağı gösterilmektedir:
<?php
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
Aşağıdaki tablo $ _SERVER içine girebilecek en önemli öğeleri listeler:
$_SERVER['PHP_SELF']
Yürütülmekte olan komut dosyasının dosya adını döndürür
$_SERVER['GATEWAY_INTERFACE']
Sunucunun kullandığı Ortak Ağ Geçidi Arabirimi'nin (CGI) sürümünü döndürür
$_SERVER['SERVER_ADDR']
Ana makine sunucusunun IP adresini döndürür
$_SERVER['SERVER_NAME']
Ana bilgisayar sunucusunun adını döndürür (www.siteismi.com gibi).
$_SERVER['SERVER_SOFTWARE']
Sunucu kimlik dizesini döndürür (Apache / 2.2.24 gibi)
$_SERVER['SERVER_PROTOCOL']
Bilgi protokolünün adını ve revizyonunu döndürür (HTTP / 1.1 gibi).
$_SERVER['REQUEST_METHOD']
Sayfaya erişmek için kullanılan istek yöntemini döndürür (POST gibi).
$_SERVER['REQUEST_TIME']
İsteğin başlangıç zaman damgasını döndürür (1377687496 gibi)
$_SERVER['QUERY_STRING']
Sayfa bir sorgu dizesi üzerinden erişilirse sorgu dizesini döndürür
$_SERVER['HTTP_ACCEPT']
Accept üstbilgisini geçerli istekten döndürür
$_SERVER['HTTP_ACCEPT_CHARSET']
Accept_Charset üstbilgisini geçerli isteğinden döndürür (utf-8, ISO-8859-1 gibi)
$_SERVER['HTTP_HOST']
Ana bilgisayar üstbilgisini geçerli istekten döndürür
$_SERVER['HTTP_REFERER']
Geçerli sayfanın tam URL'sini döndürür (tüm kullanıcı aracıları desteklemediği için güvenilir değildir)
$_SERVER['HTTPS']
Komut dosyası güvenli bir HTTP protokolü aracılığıyla sorgulanıyor mu?
$_SERVER['REMOTE_ADDR']
Kullanıcının mevcut sayfayı görüntülediği yerden IP adresini döndürür.
$_SERVER['REMOTE_HOST']
Kullanıcının mevcut sayfayı görüntülediği ana bilgisayar adını döndürür.
$_SERVER['REMOTE_PORT']
Web sunucusuyla iletişim kurmak için kullanıcının makinesinde kullanılan bağlantı noktasını döndürür
$_SERVER['SCRIPT_FILENAME']
Yürütülmekte olan komut dosyasının mutlak yol adını döndürür
$_SERVER['SERVER_ADMIN']
Web sunucusu yapılandırma dosyasında SERVER_ADMIN yönergesine verilen değeri döndürür (komut dosyanız sanal bir ana bilgisayarda çalışıyorsa, bu sanal ana bilgisayar için tanımlanan değer olacaktır) (örneğin, birisi@siteismi.com)
$_SERVER['SERVER_PORT']
İletişim için web sunucusu tarafından kullanılan sunucu makinesindeki bağlantı noktasını döndürür (80 gibi).
$_SERVER['SERVER_SIGNATURE']
Sunucu tarafından oluşturulan sayfalara eklenen sunucu sürümünü ve sanal ana bilgisayar adını döndürür
$_SERVER['PATH_TRANSLATED']
Geçerli komut dosyasına dosya sistemi tabanlı yolunu döndürür
$_SERVER['SCRIPT_NAME']
Geçerli komut dosyasının yolunu döndürür
$_SERVER['SCRIPT_URI']
Geçerli sayfanın URI'sini döndürür

PHP $ _REQUEST
Bir HTML formu gönderdikten sonra verileri toplamak için PHP $ _REQUEST kullanılır.
Aşağıdaki örnek bir giriş alanı ve bir gönderme düğmesi içeren bir formu göstermektedir. Bir kullanıcı "Gönder" i tıklayarak verileri gönderdiğinde, form verisi <form> etiketinin action niteliğinde belirtilen dosyaya gönderilir. Bu örnekte, form verilerinin işlenmesi için bu dosyanın kendisine işaret ediyoruz. Form verilerini işlemek için başka bir PHP dosyası kullanmak isterseniz, bunu seçtiğiniz dosya adıyla değiştirin. Ardından, giriş alanının değerini toplamak için süper global değişkeni $ _REQUEST kullanabiliriz:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = htmlspecialchars($_REQUEST['fname']);
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>

PHP $ _POST
PHP $ _POST, yöntem = "post" ile bir HTML formu gönderdikten sonra form verilerini toplamak için yaygın olarak kullanılır. $ _POST da değişkenleri geçmek için yaygın olarak kullanılır.

Aşağıdaki örnek bir giriş alanı ve bir gönderme düğmesi içeren bir formu göstermektedir. Bir kullanıcı "Gönder" i tıklayarak verileri gönderdiğinde, form verisi <form> etiketinin action niteliğinde belirtilen dosyaya gönderilir. Bu örnekte, form verilerini işlemek için dosyanın kendisine işaret ediyoruz. Form verilerini işlemek için başka bir PHP dosyası kullanmak isterseniz, bunu seçtiğiniz dosya adıyla değiştirin. Ardından, giriş alanının değerini toplamak için süper global değişkeni $ _POST kullanabiliriz:
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_POST['fname'];
if (empty($name)) {
echo "Name is empty";
} else {
echo $name;
}
}
?>

PHP $ _GET
PHP $ _GET, form = "get" ile bir HTML formu gönderdikten sonra form verilerini toplamak için de kullanılabilir.
$ _GET ayrıca URL’de gönderilen verileri de toplayabilir.
Parametrelere sahip bir köprü içeren bir HTML sayfamız olduğunu varsayalım:
Aşağıdaki örnekte "test_get.php" içindeki kod gösterilmektedir:

<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>