PHPYazılım

PHP Dersleri #21 – Çerezler (Cookies)

kodportali.comPHP derslerine kaldığı yerden tüm hızıyla çerezler (cookies) ile devam ediyoruz.

Nedir Bu Cookies?

Cookies yani çerezler bir kişiyi kullanıcıyı tanımak için sunucu tarafından oluşturulan bilgilerdir, oluşturulan bilgiler belli bir süre için geçerlidir ve browser yani tarayıcı ile ilişkili yapıdadır ve bu bilgiler direkt olarak kullanıcıların cihazında saklanır. Ayrıca çerezler bir kere atandı mı, artık $_COOKIE dizisi ile sonraki sayfa yüklemesinde erişilebilir olacaktır.

Nasıl Kullanılır?

Kullanımı oldukça kolaydır. setcookie fonksiyonu ile kullanılır.

setcookie(“isim”, “değer”, “zaman aşımı”);

Yukarıdaki gösterdiğimiz şekilde kullanılır. Örnekler ile daha net anlayacaksınız.

Zaman Aşımsız Kullanımı

setcookie("username", "Enes");

Bu örneğimizde zaman aşımsız bir çerez belirttik. Eğer zaman aşımı belirtmez isek kullanıcı oturumu sonlandığı (browser yani tarayıcı kapandığında) zaman aşımına uğrar.

Zaman Aşımlı Kullanımı

setcookie("username", "Enes", time() + 3600); // 1 saat sonra zaman aşımına uğrar

Bu örneğimizde ise time() + 3600 yaptık yine o anki Unix Timestamp ‘a 1 saat ekledik. 1 saat sonra zaman aşımına uğraşıyıp çerezemiz silinir. Aynı zamanda time() + 3600 yazmak yerine mktime fonksiyonuda kullanılabilir.

Bu Çerez Verilerini Nasıl Çekiceğiz?

Buda oldukça kolaydır bunun için sabit PHP değişkenimiz olan $_COOKIE değişkenini kullanacağız.

$data = $_COOKIE['username']; // username adlı çerezin verisi

echo $data; // Ekran çıktımız: Enes

Çerez olarak belirlediğimiz değeri sabit değişkenimizden dizi içinden veri çekerek çektik ve Enes sonucuna ulaşmış olduk. Peki ya tüm çerez verisini yazdırmak istiyorsak?

print_r($_COOKIE); // Bu kullanıcıya ait toplanan tüm çerez verilerini ekrana yazdırır

Kullanıcıya ait tüm çerez verilerini bu sayede ekrana yazdırabilirsiniz.

Peki Ya Çerez Verisini Nasıl Sileceğiz?

Buda oldukça kolaydır sadece geçerlilik süresini geçmişe ayarlayacağız ve otomatik olarak silinecek.

setcookie('username', 'Enes', time() - 1800); // 30 dakika geçmiş

Yukarıdaki örneğimizde zaman aşımını, 30 dakika önce geçmiş olucağından dolayı otomatik olarak çerez verimiz silinir.

 

Evet bu dersimizinde burada sonuna geldik. Herhangi bir sorunuz olursa yorumlarda sorabilirsiniz.

Sitemizdeki tüm PHP dersleri için buraya tıklayabilirsiniz.

Oylamak için tıklayınız :
[Toplam: 0 Puan: 0]
Etiketler

İlgili Makaleler

Bir cevap yazın

Başa dön tuşu