Php Cookie Kullanımı

Php Cookie Kullanımı

cookie(çerez), kullanıcının bilgisayarında tekrar kullanılmak üzere depolanan küçük verilerdir. Bazı sitelerin giriş ekranında bulunan beni hatırla butonu, alışveriş sitelerindeki sepet veya sitelerdeki koyu mod açık mod vs. çerezlere örnektir. Mesela sepet örneğinde bir alışveriş sitesine girip sepete ürün eklediğimizde siteden çıkıp tekrar girsek dahi eklediğimiz ürün sepette tutulmaya devam eder işte bunu cookie ile yapabiliriz.

Cookie Oluşturma

cookie oluşturmak için setcookie fonksiyonu kullanılırız.

setcookie($name,$value,$expires,$path,$domain,$secure,$http_only);

$name: Çerezimizin adı. çerezi burada oluşturduğumuz isimle çağırırız.
$value: Çerezin tutacağı değer.
$expires: Çerezin yaşam süresini saniye cinsinden belirlediğimiz parametredir yani çerezin ne kadar tutulacağını bu parametrede belirleriz. Eğer süre belirtilmezse tarayıcı kapandığında çerez otomatik silinir.
$path: Çerezin geçerli olacağı dizini belirlediğimiz parametredir. "/" kullanılırsa tüm dizinde geçerli olur aksi halde çerez sadece oluşturulduğu dizinde geçerli olur
$secure: Bu parametreye true değeri atanırsa çerezin sadece https içeren bağlantılarda çalışmasına izin vermiş oluruz. Çerez localhostta veya http içeren bağlatılarda çalışmaz.
$httponly: True olursa çereze sadece HTTP istekleriyle ile erişilebilir. varsayılan değeri olan false ile kullanılırsa veya değer atanmazsa çerez Javascript üzerinden erişilebilir olur. Bu durum güvenlik açığına sebebiyet verir.

setcookie('konum','Ankara', time() + 3600 * 24 * 3);
#3600 saniye = 1 saat * 24 saat = 1 gün * 3 = 3 gün

Yukarıda konum adında bir çerez oluşturduk ve Ankara değerini 3 gün tut dedik. cookie bu konum bilgisini saklar ve 3 gün içinde ziyaretçi tekrar siteye girerse tekrar konum seçmek zorunda kalmaz. 3 gün sonra çerez otomatik silinir ve site tekrar ziyaret edilirse konum bilgisi istenir.

Cookie Çağırma

Çerez çağırmak yada varlığını kontrol etmek için $_COOKIE super globali kullanılır.

if(isset($_COOKIE['konum'])){
  echo 'Konumunuz: '.$_COOKIE['konum'];
}else{
  echo 'Konum bulunamadı!';
}

Bu kodda eğer konum adında bir cookie varsa ekrana yazdır böyle bir cookie yoksa konum bulunamadı yaz dedik. Cookie çağırırken isset fonksiyonu ile çerezin varlığı kontrol edilmeli aksi halde çerez yoksa hata mesajı döndürür. 

Cookie Silme

Çerez silmek için ayrı bir fonksiyon yok setcookie fonksiyonunda belirlediğimiz zamana tam tersi işlem yaparak çerezi siliyoruz.

setcookie('konum','Ankara', time() - 3600 * 24);

Yukarıdaki kodda görüldüğü gibi sadece zaman parametresine atadığımız argümanın başındaki artıyı eksiye çevirdik.

Yorumlar (0)

Henüz Yorum yapılmamış! Lütfen ilk yorumu yapmaktan çekinme :)