PHP Rehberi – Çerezler (Cookie)

P

Başlarken;

PHP’nin nasıl bir dil olduğuna ” PHP 5N1K? “ başlıklı makalemde değinmiştik. Temel kullanımına da ” PHP Rehberi – Giriş “ başlıklı makalemden ulaşabilirsiniz. Bu makalemde PHP’de Çerezlerden (Cookie) bahsedeceğiz.

İzlenecek Yol Haritası;

  • Cookie nedir?
  • Cookie oluşturma ve değer atama.
  • Cookie kullanma.
  • Cokkie güncelleme.
  • Cookie silme.
  • Cookie kontrol.

Cookie (Çerezler) Nedir?

WEB sayfaları arasında gezinirken bu sayfaların tarayıcılar (Browser) üzerinde bıraktığı bilgilerdir. Aslında cookie temeli diziye dayanan bir yapıdır.

Sosyal medya üzerindeki “Beni Hatırla” butonunu hatırlayın. Kullanıcının bilgilerinin hatırlanması cookie’lerin yardımıyla sağlanır. Tarayıcı üzerine kaydedilen bir kullanıcı adı ve parola bulunur (temel olarak). Sayfayı tekrar ziyaretinizde geçmiş’e dair bilgilerin olup olmadığı kontrol edilerek otomatik giriş sağlanır.

Cookie Oluşturma;

Dizi oluşturmayı umarım hatırlıyoruz. Bir “key => value” çifti kullanıyorduk. Cookie oluştururken de bu çifti kullanacağız. Bize “setcookie()” fonksiyonu yardımcı olacak.

<?php 
     // setcookie("cerez_adi", "cerez_icerigi", "cerez_suresi");
     setcookie("kullanici_adi", "mustachedocto", time()+(60*60*24));
     // time()+(60*60*24) Cookie oluşturulduktan sonra 24 saat süresince depolanacağını belirtir. Bu süre arttırılabilir veya azaltılabilir.
?>

Cookie Kullanma;

Dizilere erişmek için bir dizin adımız bulunuyordu. Cookie’lere de erişmemiz için tanımlanmış bir değişken bulunuyor. “$_COOKIE” değişkeni ile cookie dizinine ulaşabiliriz.

<?php
     echo $_COOKIE["kullanici_adi"];
     // Ekrana "mustachedocto" yazdırır.
?>

Cookie Güncelleme;

Cookie’lerde güncelleme aslında üzerine veri yazma ile gerçekleşiyor. Varolan Cookie üzerine aynı isimde yeni veriye sahip Cookie’yi tanımlıyoruz.

<?php
     setcookie("kullanici_adi", "benyenikullaniciadi", time()+(60*60*24));
     echo $_COOKIE["kullanici_adi"];
     // Artık ekrana "benyenikullaniciadi" yazdırır.
?>

Cookie Silme;

Keşke “unset()” fonksiyonunu kullanabilsek değil mi? Ama maalesef bazı tarayıcılar bu durumu desteklemiyor. Bu sebeple “setcookie()” fonksiyonumuzu biraz gereği dışında kullanmamız yeter. Hatırlayın 3’üncü parametremiz “cookie_suresi”. Zamanı tersine çevirelim 😀

<?php
     setcookie("kullanici_adi", null, time()-(60*60*24));
?>

Burada ne oldu? “kullanici_adi” adındaki Cookie değerimiz “null” veri türüne atandı. Yani içi boşaltıldı. Ama dizin içerisinde hala yaşayan bir “kullanici_adi” var. Bu sebeple “time()+(60*60*24)” olarak belirlediğimiz süreyi tersine akıtıyoruz. “time()-(60*60*24)” olarak eklenilen Cookie’yi dizinden tamamen temizliyoruz.

Cookie Kontrol;

Tanımladığımız bir Cookie’yi başka bir PHP dosyasında kontrol edeceğimizi varsayalım. Bunu “isset()” fonksiyonu ile sağlayabiliriz.

<?php
     echo isset($_COOKIE["kullanici_adi"]);
     // Ekrana "true" veya "false" bir değer yazdırır.
?>

Umarım ki “PHP Rehberi – Çerezler (Cookie)” makalesi hoşunuza gitmiştir. Keyifli ve Bol Bug’lu Günler Dilerim 🙂

Yasin Erarslan

1 Yorum

Kategoriler

En Son Yazılar

En Son Yorumlar