Yükleniyor

Php cookie sitelerin tarayıcılar üzerinden, ziyaretçilerin bilgisayarında bilgi saklamak için ve daha sonra bu bilgileri aynı ziyaretçi tekrar geldiğinde kullanabilmek için kullanılır. En fazla 4 KB alan kaplar. Türkçe karşılığı çerezdir.

Tüm bilgileri tarayıcı geçmişinde ve ya tarayıcı dosyalarında tutar ve bilgisayarda bir şey tutmaz, saklamaz ve indirmez.

Örnek vermek gerekirse, form bilgileri, e-ticaret sistemlerinde sepet bilgileri, uygun reklamların gösterimi, beni hatırla uygulaması gibi birçok alanda kullanılmaktadır.

Tarayıcılar genelde kendi içlerinde çerez(cookie) tutar. Bunun amacı tekrar site yüklenirken aynı resimleri, form bilgilerini, yazıları vb. şeyleri tekrar yükleyerek geç açılmasını engellemek ve internet kullanımı minimuma düşürmektir.

Temel olarak; kullanıcıların ve ziyaretçilerin site kullanımını kolaylaştırmak için kullanılır.

Php Cookie Oluşturma

setcookie() fonksiyonu php de cookie tanımlamamıza yaramaktadır.

Hangi değişkende ne saklayacak ve ne kadar süre saklayacak?

<?php
//setcookie("çerez_adi", "saklanacak_deger");
setcookie("ilk_cerezim", "Php de oluşturduğum ilk çerez.");
/*
burada sadece normal bir çerez tanımladık ve zaman belirtmediğimiz için tarayıcı kapanınca çerez silinecektir.
*/
?>

Yukarıdaki örnekte zaman değeri belirtmediğimiz için tarayıcı kapanınca çerez silinecektir.

Bir çerezi istediğimiz süre zaafında saklayabiliriz. Tarayıcı kapanınca bilgilerin gitmesini istemiyorsak eğer zaman değeri belirtmemiz gerekmektedir. Bu zaman 1 gün, 1 saat, yarım saat, 10 saat, 1 hafta, 1 ay gibi tüm zaman dilimleri olabilir.

Kısaca silinmesini istediğiniz zamanı belirtiyorsunuz.

<?php
//setcookie("çerez_adi", "saklanacak_deger", zaman);
setcookie("ilk_cerezim", "Php de oluşturduğum ilk çerez.", time() + (60 *60 *24));
/*
Saklanacak değerden sonra süresini girdik. Şuan ki zamana 1 gün daha eklemiş olduk. Yarın yani 24 saat sonra çerez silinecektir.
*/
?>

Yukarıdaki örnekte çereze resmen son kullanma tarihi verdik. Oluşturulduğu zamandan itibaren 1 gün daha yani 24 saat ekledik ve kullanım tarihi 24 saat sonra dolacak, silinecektir. Süre zaafından sonra siteye girildiğinde çerez gönderilmicektir.

Php Cookie Silme

Oluşturduğunuz cookieyi(çerezi) silmek tamamen düz mantık bir olay. Silmek istediğiniz çerezin son kullanma tarihini önceki zaman yapıyorsunuz ve otomatik olarak siliniyor. Silinmesi gereken zamanı şuan ki zamandan öncesini yapıyoruz.

<?php
setcookie("ilk_cerezim", "Php de oluşturduğum ilk çerez.", time() -1)
/*
Şuan ki zamandan 1 saniye öncesine son kullanma tarihi verdik. Haliyle eski tarih olduğu için silinecektir.
*/
?>

Php Cookie Ekrana Yazma & Kullanma

Oluşturduğunuz çerezleri ekrana yazmak isteyebilirsiniz. Mesela kullanıcı giriş yaptığında kullanıcının ismini, id’sini ve ya başka bilgilerini çerez olarak tutabilir ve ekrana yazdırmak isteyebilirsiniz.

<?php
//$_COOKIE["cerez_adi"];
setcookie("kullaniciAdi", "Kullanıcı Adı Soyadı", time() + (60 *60 *24));
echo $_COOKIE["kullaniciAdi"];
// Çıktı : Kullanıcı Adı Soyadı
?>

Kullanıcı oturum açtı mı yoksa açmadı mı gibi bilgileri de tutabilirsiniz. Sunucuda, tarayıcıda oldukça düşük bir alan kaplamaktadır.

Bir çerezin daha önce oluşturulup oluşturulmadığını anlamak için aşağıdaki isset() fonksiyonu kullanılır. Böylelikle kullanıcıların oturum açıp açmadığı da anlaşılabilir. Tabi bu farklı amaçlarla da kullanılabilir.

<?php
if(isset($_COOKIE["oturum_cerezim"])) echo "çerez tanımlanmıştır. Oturum açık.";
else echo "çerez tanımlanmamıştır. Oturum kapalı.";
//Çıktı: çerez tanımlanmamıştır. Oturum kapalı.";
?>

Php Cookie Yeni Değer Atama

Oluşturduğunuz çerezlerin değerlerini değiştirebilirsiniz ve yeni atanan değere göre işlem yapmak isteyebilirsiniz. Bunun yanında süresini de değiştirebilirsiniz.

<?php
setcookie("kullaniciAdi", "Kullanıcı Adı Soyadı", time() + (60 *60 *24));
//Kullanıcı Adı Soyadı değerini  kullaniciAdi çerezi 1 gün (24 saat) boyunca tutacaktır.
setcookie("kullaniciAdi", "Kullanıcı Adı Soyadı Yeni", time() + (60 *60 *36));
//Kullanıcı Adı Soyadı Yeni değerini  kullaniciAdi çerezi 36 saat boyunca tutacaktır.
?>

Php Cookie Diziler

Oluşturduğunuz çerezlerin değerlerini ihtiyacınıza göre dizi olarak tutabilirsiniz. Genellikle üye giriş bilgilerini saklamak için kullanılır.

<?php
//setcookie("cerez_adi[dizi_element_adi]", "Kullanıcı Adı Soyadı", time() + (60*60*24));
setcookie("uye_bilgilerim[id]", 14, time() + (60 *60 *36));
setcookie("uye_bilgilerim[adi]", "Kullanıcı Adı Soyadı Yeni", time() + (60 *60 *36));
setcookie("uye_bilgilerim[kullanici_adi]", "phpmutfagi", time() + (60 *60 *36));

var_dump($_COOKIE);
/* Çıktı:
  array (size=1)
  'uye_bilgilerim' => 
    array (size=3)
      'id' => string '14' (length=29)
      'adi' => string 'Kullanıcı Adı Soyadı Yeni' (length=29)
      'kullanici_adi' => string 'Kullanıcı Adı Soyadı Yeni' (length=29)

*/

//TEK TEK ERİŞMEK İÇİN;
echo $_COOKIE["uye_bilgilerim"]["id"] . "<br />"; // Çıktı: 14
echo $_COOKIE["uye_bilgilerim"]["adi"] . "<br />";// Çıktı: Kullanıcı Adı Soyadı Yeni
echo $_COOKIE["uye_bilgilerim"]["kullanici_adi"]; // Çıktı: phpmutfagi
?>