Php’de bizim tanımlamadığımız ve tanımlı olarak gelen değişkenlere öntanımlı değişkenler denir.
Genel olarak kullanacağımız değişkenlerimiz şunlardır.
1. Süper Küreseller
- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- $_FILES
- $_COOKIE
- $_ SESSION
- $_ REQUEST
- $_ENV
2. $php_errormsg
3. $HTTP_RAW_POST_DATA
4. $http_response_header
5. $argc
6. $argv
1. SÜPER KÜRESELLER
Süper küreseller bütün etki alanlarında daima mevcut olan yerleşik değişkenlerdir.
$GLOBALS
Küresel alanda bulunan bütün değişkenleri içerir.Tanımladığımız bir değişkeni her yerde kullanabilmemizi sağlar.Fonksiyon içinde yazılan kodlar başka fonksiyon içinde normal olarak kullanılmaz. Ama
$GLOBAL ile bu mümkün.
ÖRNEK:
$_SERVER
Sunucu ile ilgili bilgilerin tutulduğu değişken türüdür.Bu değişken bir dizi değişkenidir. Bilgiler bir dizi içerisinde tutulduğu için biz hangi bilgiyi çekmek istiyorsak diziye o değeri girmemiz gerekmektedir.
ÖRNEK:
$_GET
URL satırından gelen verileri okur.
ÖRNEK:
Bu iki dosyamızı kaydedip çalıştırdıktan sonra ekran cıktımız aşagıdakı gıbı olacaktır.
$_POST
Post metodu ile gelen verileri okur.
ÖRNEK:
Ekran çıktımız aşagıda ki gibidir.
Dosya upload işlemlerinde kullanılır. Seçtiğimiz dosyayı gönderme yada başka bir klasöre yükleme yapabiliriz.
Bir örnekle gösterelim:
php kodlarımızdan sonra ekran çıktımız:
Dosyamızı seçip Gönder butonuna tıkladığımızda gibi ekran çıktımız aşagıda ki gibi olacaktır.
$_FILES değişkenimizde birkaç tane alt dizin bulunmaktadır. Bunlar:
$_FILES["file"]["error"]
Bu bir hata kodudur.Dosya yüklenmesinde eğer bir sorun ile karşılaşıldıysa karşılaşılan sorun
$_FILES["file"]["name"]
Yüklediğimiz dosyanın adı
$_FILES["file"]["type"]
Yüklenilen dosyanın türü
$_FILES["file"]["size"]
Yüklediğimiz dosyanın büyüklüğü
$_FILES["file"]["tmp_name"]
Yüklediğimiz dosyanın sunucu tarafından oluşturulan geçici kopyasının adını bizlere vermektedir
$_COOKIE
Cookie’lerin (çerezlerin) yönetiminde kullanılır.
Girilen sitelerin tarayıcılar üzerinde bıraktığı izlere cookie denir. Bu izler siteye tekrar ziyaret edildiğinde yeniden gönderilerek bazı şeylerin yeniden hatırlanmasını sağlar. Kullanıcı adı ve şifremizi gibi. Şimdi cookileri oluşturma, silme, kullanma ve değerini değiştirme işlemlerine tek tek bakalım.
Cookie Oluşturma
Cookie oluşturmak için setcookie(); fonksiyonunu kullanırız. Bu fonksiyonda tarayıcıya gönderilecek olan değerin anahtarını ve içeriğini belirttiğimiz gibi üçüncü paremetre olarak da ne kadar süre tarayıcıda saklanacağını belirtiyoruz.
kodumuzu yazdığımızda son parametreyi boş bıraktığımız için varsayılan olarak tarayıcı kapatıldığında oluşturmuş olduğumuz çerezimiz silinecektir.Eğer çerezin bizim istediğimiz bir gelecek tarihte silinmesini istiyorsakta 3. parametreyi devreye sokacağız.
time()+(60*60*24) saniye cinsinden tam olarak 24 saat yani 1 gün cookie hatırlanacaktır.
Cookie Silme
Oluşturduğumuz cookie slmek için yine yeni bir çerez tanımlarmış gibi setcookie() fonksiyonunu kullanıyoruz.Tek fark 3.parametre olan tarihde geçmiş zamana gitmiş oluyoruz böylece cookienin zamanı dolmuş olup siliniyor.
Cookie Kullanımı
Cookie kullanımını bizim süper küresel olan $_COOKIE değişkenimiz ile yaparız.
Ekranda çerezimize verdiğimiz değer görünecektir.
$_SESSION
$_SESSION kullanımı genel olarak $_COOKIE ile aynıdır ama teknik olarak farklıdır.
Session aynı çerezlerde olduğu gibi $_SESSION global değeri ile okunur ama yazılması için çerezlerdeki gibi fonksiyona ihtiyaç duyulmaz. Sessıon çerezlerde ki gibi son kullanma zamanını biz belirlemeyerek tarayıcı kapatıldığında otomatik olarak silinir.
Session ve Cookie Arasındaki Farklar Nedir?
İkiside web sitesini kullanıcı verilerine göre dinamikleştirmek için kullanılır. Session'da oluşturulan veri sunucu tarafında, cookie ile oluşturulan veri istemci tarafında depolanır.
Session'daki bilgiler sunucu tarafından değiştirilebilir. Cookie'de ki bilgiler ise sunucu ve istemci tarafından (tarayıcı ayarlarından) değiştirilebilir. Session'un kullanılabilmesi için istemcide cookiler izin verilemelidir.
Session Oluşturma
Session oluşturmasına ya da kullanımına başlamadan önce her sayfanın en başında session_start(); fonksiyonunu kullanmak gerekir. Bu fonksion session olayını kullanıma hazırlar ve olmazsa olmazdır.
Örnek kullanımı:
Oluşturmuş olduğumuz bu session kullanıcının girdiği her sayfaya tekrar göndererek bir önceki sayfada yaptığı işlemleri, kullanıcı adı ya da şifre gibi verileri yeniden hatırlamasını sağlar.
Session dizi(array) atama
Sessionlara yazı,sayı gibi değerler atadığımız gibi aynı zamanda dizide atayabilirz.Bunu yapmak için sıradan bir dizi tanımlıyor gibi yapıcağız.
örnek:
Session Silme
Oluşturmuş olduğumuz sessionı silmek için unset(); fonksiyonunu kullanırız.
Örnek:
Tüm sessionları silmek içinde aşağıdaki kodlarımızı yazarız. Sessionların silindiğini kontrol etmek içinsession_destroy(); başına echo komutunu yazıp çalıştırdığımızda ekranda 1 sayısını yani başarılı bir şekilde tüm sessionlarımızı sildiğimizi anlarız.
Eğer herhangi bir session var mı yok mu diye kotrol etmek istiyorsak aşağıdaki kodlarımızı yazarız.
Yukarıdaki gibi kodlarımızı yazdığımızda $_SESSION içine yazdığımız session varsa olumlu(1) yoksa olumsuz olarak döner.
$_REQUEST
$_GET, $_POST ve $_COOKIE değişkenlerini beraberinde bulundurur.Mesela bir formdan size veri geliyor.Ancak siz hangi methodla gönderildiğini bilmiyorsunuz.Yapmanız gereken şey $_REQUEST değişkenini kullanmak.Yani $_POST ya da $_GET yazmak yerine $_REQUEST yazıcağız.Başka değişen hiçbir şey yok.
Örnek:
merhaba.html dosyamızın kodları:
hosgeldin.php dosyamızın kodları:
Burada hangi method ile göndereceğini belirtmedik ya da bilmiyoruz.Bu yüzden get veya post kullanmak yerine Request kullandık tek fark eden şey bu.
$_ENV
Ortam değişkenleridir. Php yorumlayıcısının çalıştığı ortamdaki global namespace’idir.
$_ENV global değişkeni sistem değişkenlerini tutmaya yarayan bir süper küresel değişkendir. Platform özelliği, dosya yolu gibi bilgileri kullanmaya yarar.
Ekran cıktısı:
2. $php_errormsg
PHP tarafından üretilen son hata iletisinin metnini içeren bir değişkendir. Bu değişken sadece hatanın oluştuğu alan içinde ve sadece track_errors ayar seçeneği açıldıysa (öntanımlı değeri kapalıdır) geçerlidir.
Örnek:
Yukarıdaki örnek şuna benzer bir çıktı üretir:
3. $HTTP_RAW_POST_DATA
Ham POST verisidir. POST ile aldığımız mesaj çok karmaşık yada parçalı bir şekilde olabilir. Bunu $HTTP_RAW_POST_DATA ile çok güzel bir şekilde gösterebiliriz.
4) $http_response_header
HTTP yanıt başlıklarıdır. Bu dizi get_headers() işlevi gibidir. http sarmalayıcı kullanılırken, $http_response_header http yanıt başlıklarından oluşturulur.
Örnek:
5. $argc ve $argv
Php’de konsol uygulamalarında kullandığımız parametre değişkenleri vardir. $argv dizisi ile verilen parametreleri, $argc ile parametre sayısını alırız.
Örnek:
Ekran cıktısı: