Özet - Çerezler
setcookie, $_COOKIE ve süre sonuyla tema tercih (koyu/açık) uygulaması yazarsın.
Özet - Çerezler
Bu grupta çerezlerin dört taşını öğrendin: setcookie() ile oluşturma, $_COOKIE ile okuma, time() + N ile süre sonu verme ve geçmiş tarih ile silme.
Bunları birleştirerek basit bir tercih sistemi kurabilirsin: kullanıcı tema seçer, çerez olarak yazarsın, sonraki ziyaretlerde $_COOKIE'ten okursun.
Son adımda koyu/açık tema tercihini hatırlayan bir mini uygulama var.
Tema tercih uygulaması
Bir tema tercihi uygulaması iki adımdan oluşur: yazma ve okuma.
Yazma: kullanıcı temayı seçtiğinde setcookie('theme', 'dark', time() + 604800) ile bir haftalık çerez ayarlarsın.
Okuma: her sayfa yükünde isset($_COOKIE['theme']) ile kontrol et; tanımlıysa çerezdeki değeri, değilse 'light' varsayılanını kullan. Böylece site bir hafta boyunca tercihi hatırlar.
Uygulama Özet - Tema tercihini uygula
setcookie('theme', 'dark', time() + 604800) ile bir haftalık tema çerezi ayarla. Sonra if/else ile isset($_COOKIE['theme']) kontrol et: tanımlıysa $theme'e $_COOKIE['theme']'i, değilse 'light' ata. En son echo $theme yazdır.
Örnek çözümü göster
setcookie('theme', 'dark', time() + 604800) çağır, if(isset($_COOKIE['theme'])) ile $theme'i çerezden, else'de 'light' ata, echo $theme yaz.
Örnek çözüm:
<?php
// Tema çerezini ayarla ve $_COOKIE'ten güvenle oku
setcookie('theme', 'dark', time() + 604800);
if (isset($_COOKIE['theme'])) {
$theme = $_COOKIE['theme'];
} else {
$theme = 'light';
}
echo $theme . "\n";
Kendini test et
-
Çerez araçlarını eşleştir
- setcookie()
- Çerez oluşturur
- $_COOKIE
- Çerezi okur
- time() + N
- Süre sonu verir
- unset($_COOKIE['k'])
- Bu istekte siler
-
Çerez silme akışı nedir?
- setcookie(name, '', time()-3600) ve unset($_COOKIE[name])
- Sadece setcookie(name, 'value') ile yeniden yaz
- Sadece unset($_COOKIE[name])
- Sadece session_destroy()
Cevabı göster
setcookie(name, '', time()-3600) ve unset($_COOKIE[name]) — Doğru. Önce geçmiş tarihli setcookie tarayıcıdan siler, sonra unset bu isteği temizler.
-
Tema çerezini yapılandırmadan ayarla
<?php $cfg = ['name' => 'theme', 'value' => 'dark', 'ttl' => 604800]; ____ echo $cfg['value'];Cevabı göster
<?php $cfg = ['name' => 'theme', 'value' => 'dark', 'ttl' => 604800]; setcookie($cfg['name'], $cfg['value'], time() + $cfg['ttl']); echo $cfg['value'];