Javascript ve Cookie ler 2

Bir site hazırlarken bazı bilgilerin toplanması ve bu bilgilerin depolanması gerekebilir. Bu bilgileri sunucu üzerinde biriktirmek iyi bir fikirdir. Fakat bilgiler siteyi ziyaret eden kişi hakkında ise ve bu bilgilerin bu ziyaretçi tekrar siteyi ziyaret ettiğinde kullanılacak ise server üzerinde toplanan bilgiler işe yaramaz.

Bunun nedeni HyperText Transport Protocol (HTTP) nin yapısıdır. Böyle bir durum için geliştirilmiş bir yöntem çerezler ( Cookie ) dir. Çerezler bilgilerin ziyaretçinin bilgisayarında biriktirilmesi için kullanılır. JavaScript ile ilk kullanılan örneklerden birisini hatırlatmak gerekirse sayfayı ziyaret eden kişinin ismini almak ve sayfayı tekrar ziyaret ettiğinde bu isim ile ona hoşgeldin mesajı veren uygulamadır.

Bu bölümde javascript ile çerez tanımlamasının nasıl yapılacağını görecek ve sonrada bu bilgilerin nasıl kullanılabileceğini inceleyeceğiz.

Javascriptte çerezler için


document.cookie

özelliğini kullanıyoruz. Bir çerezin alabileceği beş değer olmasına karşılık bu bölümde genel olarak kullanılan üç özellikten bahsedeceğiz. Bir çerez öncelikle bir değer tutması için kullanılır. Bu nedenle bu değer için bir değişken ismi vermemiz gerekmektedir. İkinci olarak atayacağımız değer gelir. Bu değer latin-1 setine göre girilmelidir. Üçüncü olarakta GTM formatında çerezin bitiş tarihini vermemiz gerekiyor. Bu tarih geldiğinde çerez kullanıcının bilgisayarından silinecektir.

Çerezler için birkaç bilgi vermek gerekirse her domain için 20 çerez tanımlanabilir ve her çerez enfazla 4kb büyüklüğünde olabilirler.

Şimdi de çerezlerin javascript ile birlikte kullanılmasını inceleyelim. Bu işlem için genel olarak iki fonksiyon tanımlaması yapılır. Birincisi ile çerez ayarlarlanır ve ikinci fonksiyon ise çerezleri okumaya yarar. Öncelikle çerezleri ayarlamak için bir fonksiyon yazalım.

			
function cerezAyarla(isim,deger,btarihi)
{
 document.cookie = isim + "="
 + escape(deger)
 + (btarihi == null ? "" : ("; expires=" + btarihi.toGMTString()));
}
 

Bu fonksiyon üç değer alır. Birincisi çerezin ismi ( isim ), ikincisi çerezin değeri ( deger) ve üçüncüsü çerezin bitiş tarihi ( btarihi ) şeklindedir. Bu değerlerden isim, deger string değerlerdir. btarihi adlı değişken ise bir date nesnesidir.

btarihi değişkenini şu şekilde ayarlıyoruz.

var bugun = new Date();
var btarihi = new Date();
btarihi.setTime(bugun.getTime() + 1000*60*60*24*365);
 

Burada anlaşılması gereken 1000*60*60*24*365 ifadesidir. Bu ifade ile bugunun tarihinden bir yıl sonrası hesaplanıyor. Buradaki 1000 değeri saliseyi, ilk 60 değeri saniyeyi, ikinci 60 değeri dakikayı, 24 değeri saati ve 365 değeri ise bir yıl içerisindeki toplam gün sayısını bildirir. Mesela biz 10 gün sonrasını istediğimizde 365 yerinde 10 değerini girecektir.

						
btarihi.setTime(bugun.getTime() + 1000*60*60*24*10);
 

şeklindeki gibi. İsterseniz bunu bir script içerisinde deneyelim.



<script>
var bugun = new Date();
var btarihi = new Date();
btarihi.setTime(bugun.getTime() + 1000*60*60*24*10);
bitis = btarihi.toGMTString()
document.write("Bu gün = " + bugun.toGMTString() + "<br>");
document.write("On gün sonra = " + btarihi.toGMTString());
</script>


Bu scripti denediğinizde sonuç olarak ongün sonrayı göreceksiniz. Bu scriptin şu an için sonucu aşağıdadır.

Bu gün = Sat, 03 Jun 2006 18:59:15 GMT
On gün sonra = Tue, 13 Jun 2006 18:59:15 GMT

Şimdi de bir çerezi almak için bir fonksiyon yazalım. Bu fonksiyon ile ismini verdiğimiz çerezin değerini geri alacağız. Tabii ki çerez o isimde bir çerez ayarlanmış ise.

<script>
<!--
function cereziAl(isim)
{
 var tarama = isim + "=";
 if (document.cookie.length > 0) {
 // eğer herhangi bir çerez varsa
  konum = document.cookie.indexOf(tarama)
  if (konum != -1) { // eğer çerezimiz varsa
   konum += tarama.length
   // değişkenin ilk değeri ayarlandı
   son = document.cookie.indexOf(";", konum)  
   // çerezin son değeri ayarlandı
   if (son == -1)
     son = document.cookie.length
   return unescape(document.cookie.substring(konum, son))
  }
 }
}
// -->
</script>


 Javascript ve Cookie ler 2

Kaynak www.webtasarimrehberi.com/index.php

Yorumunuzu Ekleyin
Javascript ve Cookie ler 2 Yorumları +1 Yorum
  • Batuhan Sezer
    1
    Batuhan Sezer
    oluşturduğum cookies chromeda çalışmıyor fakan iexplorerda çalışıyor nedeni nedir açıklarmısınız?
    13 Temmuz 2015 15:59:03, Pazartesi


Yükleniyor...
Yükleniyor...