unset() ve session_destroy()
unset() ile tek bir oturum değişkenini ve session_destroy() ile tüm oturumu silmeyi öğrenirsin.
unset() tek değişkeni siler
Bir oturum değişkenini silmek için unset($_SESSION['anahtar']) kullanırsın. Bu yalnızca o anahtarı kaldırır; oturumun geri kalanı korunur.
Örneğin alışveriş sepetindeki tek bir ürünü silmek istersen unset($_SESSION['cart'][$productId]) yazarsın. Sepetin tamamı kalır.
Dikkat: unset($_SESSION) tüm süper globali yok eder ama oturumu kapatmaz. Oturumu kapatmak için session_destroy() gerekir.
session_destroy() tüm oturumu kapatır
session_destroy() sunucudaki oturum verisini tamamen yok eder. Oturum dosyası silinir; bir sonraki session_start() yeni bir oturum başlatır.
Çıkış (logout) akışında önce unset($_SESSION['user']) ile kullanıcı değişkenini siler, sonra session_destroy() ile oturumu kapatırsın.
Çerez tarayıcıda kalabilir; istersen session_destroy() sonrası çerezi de silmek gerekir. Ama temel akış için destroy yeterlidir.
Uygulama Sepet anahtarını sil ve kontrol et
session_start() çağır. $_SESSION['cart'] = 3 ata. Ardından unset($_SESSION['cart']) ile sil. if/else ile isset($_SESSION['cart']) kontrol et: tanımlıysa var, değilse yok yazdır.
Örnek çözümü göster
session_start çağır, $_SESSION['cart']=3 ata, unset($_SESSION['cart']) çağır, if(isset(...)) ile var/yok yazdır.
Örnek çözüm:
<?php
// $_SESSION['cart'] değerini unset ile sil ve isset ile kontrol et
session_start();
$_SESSION['cart'] = 3;
unset($_SESSION['cart']);
if (isset($_SESSION['cart'])) {
echo "var\n";
} else {
echo "yok\n";
}
Kendini test et
-
session_destroy() ne yapar?
- Tek bir değişkeni siler
- $_SESSION'u boşaltır ama oturumu açık tutar
- Sadece çerezi siler
- Sunucudaki oturum verisini tamamen yok eder
Cevabı göster
Sunucudaki oturum verisini tamamen yok eder — Doğru. session_destroy() sunucudaki oturum verisini yok eder.
-
Tek anahtarı sil
<?php session_start(); $_SESSION['cart'] = ['id' => 7, 'qty' => 3]; ____ var_dump(isset($_SESSION['cart']));Cevabı göster
<?php session_start(); $_SESSION['cart'] = ['id' => 7, 'qty' => 3]; unset($_SESSION['cart']); var_dump(isset($_SESSION['cart'])); -
Temizlik araçlarını eşleştir
- unset($_SESSION['k'])
- Tek anahtarı siler
- session_destroy()
- Tüm oturumu yok eder
- session_unset()
- Tüm anahtarları siler
- session_id()
- Kimliği okur