$_COOKIE ile çerez okuma
$_COOKIE süper globaliyle tarayıcıdan gönderilen çerezleri okumayı öğrenirsin.
$_COOKIE süper globali
Bir çerez setcookie() ile oluşturulduktan sonra tarayıcı onu saklar. Sonraki istekte tarayıcı çerezi geri gönderir; PHP bu veriyi $_COOKIE süper globaline doldurur.
Her çerez adı bir anahtar olur: $_COOKIE['dil'] gibi. Dizi olarak da gezebilirsin.
Önemli: setcookie() çağrıldığı istekte çerez $_COOKIE'te yoktur; tarayıcının çerezi geri göndermesini beklersin.
isset ile çerez kontrolü
Çerez tanımsız olabilir: tarayıcı henüz göndermemiş ya da silmiş olabilir. Doğrudan $_COOKIE['theme'] okumak PHP 8'de uyarı verir.
Önce isset($_COOKIE['theme']) ile anahtarın varlığını kontrol et. True dönerse güvenle okursun; false ise varsayılan bir değer kullanırsın.
İpucu: $_COOKIE['theme'] ?? 'light' ile tek satırda hem kontrol hem varsayılan sağlarsın.
Uygulama Tanımsız çerezden varsayılan tema oku
if/else ile isset($_COOKIE['theme']) kontrol et: tanımlıysa $theme'e $_COOKIE['theme']'i, değilse 'light' ata. Sonra echo $theme yazdır.
Örnek çözümü göster
if(isset($_COOKIE['theme'])) ile $theme'i çerezden, else'de 'light' ata, echo $theme yaz.
Örnek çözüm:
<?php
// $_COOKIE['theme'] yoksa varsayılan ile yazdır
if (isset($_COOKIE['theme'])) {
$theme = $_COOKIE['theme'];
} else {
$theme = 'light';
}
echo $theme . "\n";
Kendini test et
-
Bir çerez ne zaman $_COOKIE'te görünür?
- setcookie çağrıldığı anda aynı istekte
- Yalnızca session_start çağrıldığında
- Sonraki istekte, tarayıcı çerezi geri gönderdiğinde
- Çerez silindikten sonra
Cevabı göster
Sonraki istekte, tarayıcı çerezi geri gönderdiğinde — Doğru. Çerez ancak tarayıcının geri gönderdiği bir sonraki istekte $_COOKIE'te görünür.
-
Çerez değerini oku
<?php $cfg = ['default' => 'light']; ____ echo $theme;Cevabı göster
<?php $cfg = ['default' => 'light']; $theme = $_COOKIE['theme']; echo $theme; -
Çerez okuma araçlarını eşleştir
- $_COOKIE['k']
- Çerez değerini okur
- isset()
- Anahtarı kontrol eder
- ?? 'varsayılan'
- Tanımsızsa varsayılan verir
- empty()
- Boş mu diye bakar