Php 8 Cookie Tanımlama

Php 8 Cookie Tanımlama

PHP'de çerez (cookie) tanımlamak ve kullanmak oldukça basittir. Çerezler, bir web sunucusunun kullanıcının tarayıcısına gönderdiği küçük veri parçalarıdır. Kullanıcı, bu çerezleri sonraki sayfa isteklerinde sunucuya geri gönderir. Çerezler, genellikle kullanıcı kimliği, tercihler ve oturum bilgilerini saklamak için kullanılır.

PHP'de Cookie Tanımlama

PHP'de bir çerez tanımlamak için setcookie() fonksiyonu kullanılır. İşte temel kullanımı:

setcookie(name, value, expire, path, domain, secure, httponly);
  • name: Çerezin adı (zorunlu).
  • value: Çerezin değeri (zorunlu).
  • expire: Çerezin sona erme zamanı. Unix zaman damgası (timestamp) formatında verilir. Örneğin, time() + 3600 bir saat sonra sona erer demektir.
  • path: Çerezin hangi dizinler için geçerli olduğunu belirtir. Varsayılan / tüm dizinleri kapsar.
  • domain: Çerezin geçerli olduğu alan adı. Örneğin, .example.com hem www.example.com hem de sub.example.com için geçerli olmasını sağlar.
  • secure: Eğer true ise, sadece HTTPS üzerinden gönderilir.
  • httponly: Eğer true ise, çerez sadece HTTP protokolü üzerinden erişilebilir. Bu özellik, JavaScript ile çerezlere erişimi engelleyerek güvenliği artırır.

Örnek: Basit Bir Cookie Tanımlama

<?php // 1 saat geçerli olacak bir çerez tanımla setcookie("username", "chatgpt", time() + 3600); // Kontrol için ekrana mesaj yazdır echo "Çerez tanımlandı!"; ?>

Bu örnekte, "username" adında bir çerez oluşturulmuş ve bu çerez 1 saat (3600 saniye) boyunca geçerli olacaktır. Eğer tarayıcıda bu çerez tanımlandıysa, sunucuya her istekte bu çerez gönderilecektir.

PHP'de Cookie Okuma

Çerezler, PHP'de süper global bir dizi olan $_COOKIE ile okunabilir. Örneğin:

<?php if (isset($_COOKIE['username'])) { echo "Çerez değeri: " . $_COOKIE['username']; } else { echo "Çerez mevcut değil."; } ?>

Çerezi Silme

Bir çerezi silmek için, aynı çerezi geçmiş bir tarihe ayarlamanız yeterlidir:

<?php // Çerez süresini geçmiş bir zamana ayarlayarak sil setcookie("username", "", time() - 3600); echo "Çerez silindi!"; ?>

Bu örnekte, çerez sona erme süresi geçmiş bir tarihe ayarlanarak tarayıcı tarafından silinir.

Önemli Notlar

  • setcookie() fonksiyonu, HTTP başlıklarını değiştirdiği için bu fonksiyon sayfada herhangi bir çıktı göndermeden önce kullanılmalıdır. Aksi takdirde bir "headers already sent" hatası alırsınız.
  • Çerezler büyük miktarda veri saklamak için uygun değildir; genellikle 4 KB'lik bir sınırlamaları vardır.


Yorum Ekle

Üzerine gel