Girilen sitelerin tarayıcılar(browserlar) üzerinde bıraktığı izlere
cookie, Türkçesiyle de
çerez denir. Bu izler siteye tekrar ziyaret edildiğinde yeniden gönderilerek bazı şeylerin yeniden hatırlanmasını sağlar.
Mesela
giriş formlarında kullanıcının şifresini ve kullanıcı adını cookieler
sayesinde tarayıcıya kaydederek bir sonraki gelişinde bilgilerini
yeniden girmek zorunda kalmadan direkt giriş yapabilir.
Temel
olarak kullanıcı bilgilerini hatırlanmasında kullanılan çerezleri hayal
gücünüzün el verdiği kadar bir çok alanda da kullanmak mümkün.
Cookie oluşturma
PHP’de cookie oluşturma işini bir
setcookie()
fonksiyonu ile yapıyoruz. Fonksiyonda tarayıcıya gönderilecek ve
saklanacak olan değerin anahtarını ve içeriğini belirttiğimiz gibi bir
de ne kadar süre tarayıcıda saklanacağınıda belirtiyoruz.
setcookie( "çerezim" , "selam dünya" );
|
Yukarıdaki örnekte
çerezim adında bir cookie oluşturduk ve değerinide
selam dünya yaptık. Ve 3. parametre olarak hiç bir şey girmediğimiz için varsayılan olarak tarayıcı kapatıldığında çerez silinecek.
Eğer
çerezin bizim istediğimiz bir gelecek tarihte silinmesini istiyorsakta
3. parametreyi devreye sokacağız. İşte bunun içinde bir örnek:
setcookie( "çerezim" , "selam dünya" , time() + (60*60*24));
|
Şimdi 3. olarak girdiğimiz
time() + (60*60*24) bu parametre şu anki zamana saniye cinsinden
60*60*24 tam olarak
24 saat yani 1 gün eklemiş olduk.
Bu
oluşturduğumuz çerezin son kullanma tarihi şuandan itibaren + 24 saat
sonra demek oluyor. 1 gün sonrasında bu çerez siteye girildiğinde
gönderilmiyor olacak.
Cookie silme
Oluşturduğumuz bir çerezi silmek için yine normal bir çerez tanımlarmış gibi
setcookie()
fonksiyonunu kullanıyoruz. Tek fark 3. son kullanma tarihi
paramteremize geçmiş bir zaman giriyoruz. Bu sayede çerezin tarihi
dolmuş varsayılıp hemen siliniyor. Örnek olarak bu çereze
time() – 3600 diyerek 1 saat öncesini göstereceğiz ve çerez silinmiş olacak:
setcookie( "çerezim" , "selam dünya" , time() - 3600);
|
Cookie kullanımı
Çerez
kullanımı $_COOKIE dizisi üzerinden yapılır. Bu dizi otomatik olarak o
sayfaya gönderilen çerezlere göre oluşur. Yukarıdaki oluşturduğumuz
çereze ulaşmak için aşağıdaki kodu kullanırız, ki bu koddan ne kadar
basit ve anlaşılır olduğu belli oluyor:
echo $_COOKIE [ 'çerezim' ];
|
Ekranda yukarıdaki örneğin devamı olarak gösterdiğimiz bu örnekten ötürü
selam dünya yazar.
Cookie değerini değiştirmek
Çerezleri
oluşturmakta ve silmekte olduğu gibi değerini değiştirmekte de
setcookie() fonksiyonunu kullanıyoruz. Ve oluşturmakta olduğu gibi
değerini değiştirmekte aynıdır. Sadece çerez adına önceden
tanımladığımız adı yazmamız yeterli. Eğer çerez yoksa oluşturulur varsa
değeri değiştirilir.
setcookie( "çerezim" , "selam dünya" );
setcookie( "çerezim" , "merhaba dünya" );
echo $_COOKIE [ 'çerezim' ];
|
Ekranda
merhaba dünya yazar.
Cookie tanımlanmış mı diye bakmak
Tüm
değişkenlerin varlığını kontrol edecek olan isset() fonksiyonu ile bir
çerezin tanımlanıp tanımlanmadığını bulabiliriz. Kullanımı if ifadesi
ile olacak olan bu fonksiyonun bu kullanımını henüz bu ifadeyi
anlatmadığımız için örnek göstermiyorum.
echo isset( $_COOKIE [ 'olmayan' ]);
|
Ekranda bir şey yazmaz,
FALSE değeri döner. Çünkü böyle bir çerez tanımlamadık. Tanımlanmış bir çerez olsaydı ekranda olumlu manada
1 yazardı.
Hiç yorum yok:
Yorum Gönder