CodeIgniter Çerez (Cookie) Kullanımı

CodeIgniter Framework‘da çerez (cookie) kullanımı oldukça kolay.  Bu işi çok basit bir şekilde halletmeyi mümkün kılan küçük bir Helper (Yardımcı) mevcut.  İlk olarak çerez verilerinin projenin nerelerinde kullanılacağına karar verin derim. Eğer çok sayıda sayfada kullanılacaksa o zaman her Controller sayfası içerisine Cookie Helper dosyasını ayrı ayrı eklemek pek mantıklı olmayacak. Bunun yerine Autoload (Otomatik Yükleyici) ile yükleyip istenilen her Controller içerisinde kullanılabilir yapabilirsiniz. Eğer az sayıda Controller içerisinde kullanılacaksa o zaman kullanılacak olan Controller ın içerisinde yüklemek daha mantıklı. Çünkü Autoloader bütün Controller ın içinde kullanılabilmesi için sayfa her refresh edildiğinde otomatik olarak yüklemekte ve dolayısıyla sunucuya gereksiz yere yük binmektedir.

Autolaod ile Yükleme

application/config/autoload.php sayfasının 92. satırında $autoload[‘helper’] = array();  şeklinde bir değişken olacak. array içerisine cookie degeri parametre olarak eklenmelidir. Eklendiğinde şu şekilde görünmeli.

$autoload['helper'] = array('cookie');

 

Controller İçerisinde Yükleme

Kullanılmak istenilen Method içerisinde

public function CookieTest ()
{
$this -> load -> helper('cookie');
}

şeklinde eklenmelidir.

Eğer bir Controller içerisinde birden fazla method ile kullanılacaksa ozaman her method için ayrı ayrı eklemek yine saçma olacak. Bunun yerine  __construct method oluşturularak Controller içerisindeki bütün methodlarda kullanılabilir.

public function __consruct ()
{
parent::__construct();
$this -> load -> helper('cookie');
}

 

Kullanılabilir Fonksiyonlar

  • set_cookie() // Yeni cookie oluşturur
  • get_cookie();  // Var olan bir cookie nin değerini okur
  • delete_cookie() // Var olan bir cookie i siler

 

Cookie Oluşturma

set_cookie() fonksiyonuna en az 3 adet parametre gönderilerek cookie oluşturulabilinir. İlk parametre cookie adı, 2. parametre cookie değeri ve 3. parametre cookie nin saniye cinsinden saklanma süresidir.  Aşağıdaki örnekte süre olarak girilen time()+(60*60*24)) değer 24 saati temsil etmekte. Bu süre dolduğunda cookie otomatik olarak client (istemci) üzerinden otomatik silinecektir.

set_cookie('CookieName', 'Cookie Value', (60*60*24));

Array olarak değer set edilmek istenirse array in önce serialize (string tipe dönüştürme) edilmesi gerekir. Çünkü set_cookie() fonksiyonu array tipli veri kabul etmemektedir.

Örnek;


$cookieData = array('value1', 'value2', 'value3', 'value4');

$cookieData = serialize($cookieData);

set_cookie('testCookie', $cookieData, (60*60*24));

Cookie Çağırma

get_cookie() fonksiyonuna cookie adı parametre olarak gönderilerek oluşturulan cookie çağrılabilir.

Örnek;

set_cookie('CookieName');

 

Cookie Silme

delete_cookie() fonksiyonuna cookie adı parametre olarak gönderilerek oluşturulan cookie silinebilir.

Örnek;

delete_cookie('CookieName');

Şunlarda Hoşunuza Gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

%d blogcu bunu beğendi: