Php 8 Dizinin Cookie ile Saklanması

Php 8 Dizinin Cookie ile Saklanması

PHP'de bir diziyi (array) çerezle saklamak doğrudan mümkün değildir, çünkü çerezler yalnızca dize (string) tipindeki verileri saklar. Ancak, bir diziyi çerezde saklayabilmek için diziyi serileştirmek (string'e dönüştürmek) gerekir. Bunun için genellikle serialize() veya json_encode() fonksiyonları kullanılır.

1. Diziyi Cookie ile Saklama

Diziyi önce JSON formatına dönüştürüp sonra çerez olarak saklayabiliriz. PHP'de diziyi JSON formatına dönüştürmek için json_encode() fonksiyonu kullanılır. Saklanan veriyi daha sonra tekrar diziye dönüştürmek için json_decode() kullanılır.

Örnek:

// Saklamak istediğimiz dizi $kullanici_bilgileri = [ "ad" => "Ahmet", "soyad" => "Yılmaz", "email" => "ahmet@example.com" ]; // Diziyi JSON formatına dönüştür $json_data = json_encode($kullanici_bilgileri); // JSON verisini bir çerezde sakla (1 saat geçerli) setcookie("kullanici_bilgileri", $json_data, time() + 3600, "/"); // Çerezin saklandığını onaylayalım echo "Dizi çerezde saklandı.";

Bu örnekte, $kullanici_bilgileri dizisi önce json_encode() ile JSON formatına dönüştürülüyor ve ardından çerezde saklanıyor.

2. Cookie'den Diziyi Okuma

Çerezi okurken, sakladığımız JSON verisini önce $_COOKIE dizisi ile çekeriz, ardından json_decode() ile diziye geri çeviririz.

Örnek:

// Çerezi kontrol et ve JSON verisini al if(isset($_COOKIE["kullanici_bilgileri"])) { // JSON verisini diziye dönüştür $kullanici_bilgileri = json_decode($_COOKIE["kullanici_bilgileri"], true); // Diziyi kullanabiliriz echo "Ad: " . $kullanici_bilgileri["ad"] . "<br>"; echo "Soyad: " . $kullanici_bilgileri["soyad"] . "<br>"; echo "Email: " . $kullanici_bilgileri["email"]; } else { echo "Kullanıcı bilgileri çerezi bulunamadı."; }

Bu kod, daha önce çereze kaydedilen diziyi okur, json_decode() ile diziye çevirir ve ardından değerlerini ekrana yazdırır.

3. Cookie ile Saklanan Diziyi Silme

Daha önce saklanan çerezi silmek için çerezin süresini geçmiş bir zamana ayarlamak yeterlidir.

Örnek:

// Çerezi silmek için geçerlilik süresini geçmiş bir zamana ayarlayın setcookie("kullanici_bilgileri", "", time() - 3600, "/"); echo "Kullanıcı bilgileri çerezi silindi.";

4. Notlar:

  • Çerez Boyutu: Çerezler, genellikle maksimum 4KB (4096 byte) boyutunda veri tutabilir. Bu nedenle saklayacağınız dizinin boyutu bu limiti aşarsa, çerez kullanımı uygun olmayabilir.
  • Güvenlik: Çerezlere kaydedilen veriler tarayıcı tarafından saklanır, bu yüzden gizli bilgiler (şifre, kişisel bilgiler) çerezlerde saklanmamalıdır. Verilerinizi güvence altına almak için şifreleme yöntemleri kullanılabilir.

PHP 8 ile dizileri çerezlerde saklamak ve tekrar okumak oldukça basittir. Ancak, güvenlik ve performans açısından dikkatli olmak önemlidir. JSON formatı ile dizi ve obje gibi karmaşık verileri kolayca çerezlerde tutabiliriz.



Yorum Ekle

Üzerine gel