PHP – Çerezler

Yayımlandığı tarih: Yazar: Atilla Akoğlu 5 Yorum
php cookies

php cookiesCookie – 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>

PHP – Çerezler için 5 cevap Yorumlar (RSS) Yorumlar (RSS)

  1. Ç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. Ç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.

  3. kardeş bu ne yaa ne saçmalıyosun sen %100 profesyonelmişiz gibi açıklıyosun bi boktan çakmayan adamlar içinde açıkla ADIM ADIM….

  4. Sıkıntı nedir @aLpi, nerede takıldın.
    aslında gayet sade bi anlatım kullanmıştım bu yazıda.
    profesyonel olmadığın kelimelerinden belli oluyor zaten, yine de sakin üslup kullanırsan , yorumunu okuyan herkes yol gösterebilir

  5. serpito bu yazın için çok teşekkürler. Bazen böyle yorum yazanlar çıkıyor. Ama cevap yazmaya bile gerek yok. Harika bilgiler veriyorsun çok teşekkür ediyorum. Başarılar diliyorum …

Bir Cevap Yazın

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

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>