Oturumdan veri okuma
$_SESSION'dan veriyi okuyup isset() ile varlığını kontrol etmeyi öğrenirsin.
$_SESSION'dan veri okuma
Oturuma yazdığın veriyi $_SESSION['anahtar'] ile okursun. Ancak anahtar yoksa PHP bir uyarı verir. Bunu önlemek için isset() ile anahtarın varlığını kontrol edersin.
isset($_SESSION['dil']) true dönerse anahtar tanımlıdır ve güvenle okunabilir. False dönerse tanımsızdır; varsayılan bir değer kullanırsın.
İpucu: $_SESSION['dil'] ?? 'tr' (null birleştirici) ile tek satırda hem kontrol hem varsayılan sağlarsın.
Tanımsız anahtar için varsayılan
Oturumdan okurken anahtar tanımsız olabilir. İki yaygın yol vardır: if/else ile isset() kontrolü veya null birleştirici ?? operatörü.
$dil = isset($_SESSION['dil']) ? $_SESSION['dil'] : 'tr'; klasik ternary yazımdır. Daha kısası: $dil = $_SESSION['dil'] ?? 'tr';
İkisi de aynıyı yapar: tanımsızsa 'tr', değilse oturumdaki değeri verir. Kısa olan modern PHP 8'de tercih edilir.
Uygulama Tanımsız anahtardan varsayılan dil oku
session_start() çağır. if/else ile isset($_SESSION['lang']) kontrol et: tanımlıysa $lang'a oturumdaki değeri, değilse 'tr' ata. Sonra echo $lang yazdır.
Örnek çözümü göster
session_start çağır, if(isset($_SESSION['lang'])) ile $lang'i oturumdan, else'de 'tr' ata, echo $lang yaz.
Örnek çözüm:
<?php
// $_SESSION['lang'] yoksa varsayılan dil ile yazdır
session_start();
if (isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else {
$lang = 'tr';
}
echo $lang . "\n";
Kendini test et
-
isset ile anahtar kontrolünü tamamla
<?php session_start(); $_SESSION['count'] = 5; if (____ && $_SESSION['count'] > 0) { echo 'ok'; } else { echo 'tr'; }Cevabı göster
<?php session_start(); $_SESSION['count'] = 5; if (isset($_SESSION['lang']) && $_SESSION['count'] > 0) { echo 'ok'; } else { echo 'tr'; } -
isset($_SESSION['yok']) ne döner?
- true
- 1
- false
- null
Cevabı göster
false — Doğru. Anahtar tanımsızsa isset false döner.
-
Oturumdan okuma araçlarını eşleştir
- isset($_SESSION['k'])
- Anahtar var mı diye bakar
- $_SESSION['k']
- Değeri okur
- ?? 'varsayılan'
- Tanımsızsa varsayılan verir
- empty()
- Boş mu diye bakar