2

PHP – Çerezler

Posted Mart 2nd, 2008. Filed under PHP Dersleri

Cookie – Türkçesi ile çerez , kullanıcıyı ayırt etmeye yarar.

Cookie-Çerez Nedir?

Cookie kullanıcıyı ayırt etmenin en sağlam yoludur. Cookie, sunucu makinanın kullanıcı bilgisayarına yerleştirdiği küçük boyutta dosyalardır.Tarayıcının bir sayfayı açtığı her tekrar da sunucu çerezlerini tekrar gönderir. PHP ile , çerez değerlerini hem oluşturur hem de düzenleyebilirsiniz.


Cookie-Çerez Nasıl Oluşturulur? Çerez oluşturmanin işlevi setcookie()’ dir.

Not: setcookie() fonksiyonu <html> tagından önce yazılmalıdır.

Syntax

setcookie(isim, deger, suresi, dosya_yolu, domain);

Örnek:

Aşağıdaki örnekte,user isminde Ali Parlak imzasıyla bir çerez oluşturacağız.Aynı zamanda çerezimize 1 saat geçerlilik süresi -ömür verelim:

<?php

setcookie(“user”, “Ali Parlak”, time()+3600);

?>

<html>

<body>

</body>

</html>

Not: Çerez değeri gönderildiğinde , otomatik olarak URLencode edilir ,ve çerez ulaştığında yine otomatik olarak decode edilir. (URLencoding işlemini engellemek için , setrawcookie() işlevi kullanılabilir).

Dipnot: Encode – Kodlamak, decode – kodu çözmek


Çerez Değerleri Nasıl Düzenlenir?$_COOKIE değişkeni çerez değerlerini düzenleyebilir.
Aşağıdaki örneğimizde , “user” adlı çerezi düzenleyerek sayfaya yazdıran bir kod yazalım;

<?php

//çerezi yazdir

echo $_COOKIE["user"];

// Butun çerezleri gormenin yolu

print_r($_COOKIE);

?>

Sıradaki örnekte , çerez gönderilip gönderilmediğini kontrol eden isset() fonksiyonunu yakından inceleyelim;

<html>

<body>

<?php

if (isset($_COOKIE["user"]))

echo “Hosgeldiniz ” . $_COOKIE["user"] . “!<br />”;

else

echo “Hosgeldin Misafir!<br />”;

?>

</body>

</html>


Çerez Nasıl Silinir?Çerez silerken kesinlikle çerezin geçerlilik süresi geçmiş olmalı.

Örnek silme işlemi:

<?php

// 1 saat oncesine geçerlilik süresi biten çerezler

setcookie(“user”, “”, time()-3600);

?>


Ya Tarayıcı Çerezleri Desteklemiyorsa?Tarayıcı uygulamalarınız , kullanılan tarayıcı ile uyumlu değilse ,sayfalar arası bilgi aktarım formları kullanmalısınız.Form konularından hatırlayacağınız gibi kullanıcı girdileri form ile kayıt altına alınabilir. Aşağıdaki form örneğinde kullanıcı Submit butonuna bastigin anda “welcome.php” dosyasına gönderilen veriler değişkenler tarafından tutulur.

<html>

<body>

<form action=”welcome.php” method=”post”>

Name: <input type=”text” name=”name” />

Age: <input type=”text” name=”age” />

<input type=”submit” />

</form>

</body>

</html>

“welcome.php” dosyasındaki kullanıcı bilgilerini düzenleyelim;

<html>

<body>

Merhaba <?php echo $_POST["name"]; ?>.<br />

<?php echo $_POST["age"]; ?> yaşındasın

</body>

</html>

Etiketler:

, , ,


Yazar hakkında
Atilla Akoğlu
Yazılım uzmanı & Serpito.com kurucusu & Müstakbel girişimlerin öncüsü & internet meraklısı & Antalya yolcusu... kişisel portfolyo

Stumbleupon'a Ekle

2 Responses so far

  1. Şenol diyor ki:

    Çerezi geçerlilik süresinden önce silemezmiyiz?
    Ve çerezin ne kadar geçerlilik süresi kaldığını göremezmiyiz?
    Mümkünse nasıl?

  2. serpito diyor ki:

    Çerezleri geçerlilik süresinden önce silebilirsin.
    Ne kadar ömrü kaldığını öğrenmek fantastik geldi bana ama, veritabanına cerez bilgilerini tutarak, istediğin an sorgulatabilirsin. Yani direk script yoluyla kalan çerez ömrünü öğrenmek mümkün mü bilmiyorum. Biraz araştırdım , bulamadım maalesef.
    Bulursan bana da haber verirsin umarım.

Yorumunuzu paylaşın