9 Aralık 2015 Çarşamba

PHP Çerezler ( Cookie )

PHP ile çerezler oluşturarak site kullanıcıları hakkında bilgiler toplanabilir. Örneğin kullanıcı şifrenizin hatırlanması tarzında uygulamalar. Büyük şirketlerin kullanıcıların ilgi alanlarına göre reklam gösterimi yapması.

Cookie Oluşturma

Çerez oluşturmak için setcookie() fonksiyonu kullanılır. Aşağıda örnek bir çerez (cookie) oluşturalım.

<?php
setcookie("mesaj","merhaba millet!");
?>


Yukarıda bir cookie oluşturduk. Ancak zaman parametresi girmedik. Bu yüzden çerez ziyaretçinin tarayıcısını kapattığı an silinecektir. Belli bir süre boyunca durması sağlamak istiyorsak 3. bir zaman parametresi girmeliyiz.

<?php
setcookie("mesaj","merhaba millet!",time() + 7200);
?>


Çerezimizin ömrünü 2 saat olacak şekilde ayarladık. Kullandığımız zaman birimi ise saniyedir. Bu süre tamamlandıktan sonra çerez silinecektir.

Cookie Gösterimi

Oluşturulan çerezi görmek için ekrana yazdırabiliriz.

<?php
setcookie("mesaj","merhaba millet!",time() + 7200);
echo $_COOKİE['mesaj'];
?>


"çift tırnak ve ' tek tırnak arasında buradaki kullanım için fark eden bir şey yoktur.


Cookie Silme İşlemi

Oluşturulan çerezi silmek için aşağıdaki işlemi yapmamız yeterlidir.

<?php
setcookie("mesaj","merhaba millet!",time() - 7200);
?>


Farkettiyseniz burada - işaretli zaman değeri kullanıldı. Buradaki amaç önceden verdiğimiz süreyi tamamlanmış olarak göstererek çerezi silmek.

Cookie Değer Değiştirme

Oluşturulan çerezin sahip olduğu değeri değiştirmek aşağıdaki gibi bir tanımlama yapabiliriz.

<?php
setcookie("mesaj","merhaba millet!");
setcookie("mesaj","hoşçakalın millet!");

echo $_SETCOOKİE["mesaj"];
?>

Kod çalıştığında ekranda hoşçakalın millet! yazısı yazacaktır. Burada önemli nokta eski çerez değerinden sonra tanımlanmasıdır.

Cookie Tanım Sorgulaması

Cookie tanımlanmış mı tanımlanmamış mı anlamak içinde isset() fonksiyonu kullanılır.

<?php 

echo isset($_COOKİE["mesaj"]);

?>

Eğer çerez varsa ekranda 1 değeri görülür, Tanımlanmamışsa ekrana bir şey gelmez. Şimdi sorgulama işlemini biraz daha karışık hale getirelim. if else yapısını kullanalım.

<?php

if(isset($_COOKIE["mesaj"])){

echo "Çerez Tanımlanmış.";

}else{

echo "Çerez Tanımlanmamış.";

}