Çerez Örneği

Çerezler HTTP ile kullanıcının bilgisayarına gönderdiğimiz bilgi paketleridir. Bu bilgiler düz yazı dosyası halinde kullanıcıya ulaşır ve kullanılan istemcinin tipine göre herhangi bir dizinde belirlenen süre kadar saklı tutulur. Çerezlere gönderen bilgisayar dışında başka bir bilgisayar tarafından ulaşılamaz. Windows sistemlerde MS-Internet Explorer, sunucu tarafında yollanan çerezleri C:\WINDOWS\Cookies dizini altında saklar. Linux altında, kullanılan istemci tarafından kullanıcının kendi ev dizininde oluşturulun gizli bir dizinde saklanır.
Örneğimde bir web sitesine parola ile giriş yapmış bir kullanıcının bilgisayarına yollanan çerezin kullanımı var. Tabii bu örnek için kullandığım veritabanı bilgilerinin varolduğunu varsayıyorum.
scription">PHP- Kodu:
<!-- Bu dosya index.html adı ile kaydedilecek   --><html><head><title>Şifrenizi   girin</title></head><body bgcolor="#ffffff"   text="#000000"><br><br><center><form   action="login.php" method="post">  <b>Kullanıcı   adınız</b><input type="text" name="uid"  size="20"><br>   <b>Parolanız</b><input  type="password" name="passwd"  size="20"><br><br>   <input type="submit" value="   Giriş   "></form></body></html
description">PHP- Kodu:
<?
/* bu dosya login.php adi ile kaydedilecek */
if (isset($uid) && isset($passwd)) {
  
***nbsp;Veritabanina baglaniliyor
  
@mysql_connect(“localhost””kullanici””parola”)
      or die(
“Veritabani ile baglanti kurulamadi!”);
  @
mysql_select_db(“base”)
      or die(
“Veritabaninda bir hata olustu!”);
  
$sorgu mysql_query(“select  from kayit”);
  
$db_passwd mysql_result($sorgu$uid’parola’);
  if (
$db_passwd == $passwd) {
    
setcookie(“identify”,”OK”time() + 3600);
    echo 
“Cerez yollandi.”;
  } else {
    echo 
“<center><b>Kullanici adi ve sifrenizi kontrol edin!</b></center>”;
    require(
“./index.html”);

Bu reklam sadece misafirlere görünüyor. Oturum açar veya üye olursan, bu reklamdan kurtulursun.

  
}
} else {
  echo 
“<center><b>Bir kullanici adi ve sifre girmelisiniz!</b></center>”;
  require(
“./index.html”);
}
?>
Bu PHP dosyası eğer formdan $passwd ve $uid değişkenleri gelirse if döngüsüne giriyor. Döngü içerisinde MySQL’e bağlanılıp kayit adlı tablodan kullanıcı adı $uid olan satırdaki parola alınıp bir değişkene ($db_passwd) atanıyor. Eğer iki şifre aynı ise setcookie() işlevi ile kullanıcıya çerez yollanıyor. Yollanan çerezin adı identify ve bu çerezin değeri OK. Karşı tarafın bilgisayarında kalma süresi ise 1 saat (3600 saniye). Çerez yollandıktan sonra ekrana “Cerez yollandi.” diye bir mesaj yazılıyor.
Çerez ile yollanan bir değişkenin değerini $deger adlı bir değişkene atmak için
PHP- Kodu:
$deger $HTTP_COOKIE_VARS["cerez_adi"]; 
satırı kullanılır. Ancak çerezleri kullanırken dikkat etmeniz gereken önemli bir nokta var! Çerezi yolladığınız PHP dosyası ile aynı çerezin değerini çağıramıyorsunuz. Bu işlemi başka bir dosya üzerinde yapmak zorundasınız.