$_SESSION ile veri saklama
$_SESSION süper globaline veri yazıp sayfalar arası taşımayı öğrenirsin.
$_SESSION süper globali
$_SESSION bir süper global dizidir: fonksiyon içinde bile global olarak erişilir. session_start() çağrısından sonra $_SESSION['anahtar'] = değer biçiminde veri yazarsın.
Yazdığın veri sunucuda oturum dosyasına kaydedilir. Aynı oturum kimliğiyle gelen sonraki isteklerde PHP bu dosyayı yükler ve $_SESSION hazır gelir.
Böylece kullanıcı adı, sepet içeriği veya tema tercihi gibi veriyi sayfalar arası taşıyabilirsin.
Veri sayfalar arası taşınır
Oturumun gücü kalıcılıktadır. sayfa_a.php'de $_SESSION['sepet'] = 3 yazarsan, sayfa_b.php'de session_start() çağrısıyla aynı değeri okursun.
Bunun sebebi: her iki sayfa da aynı oturum kimliğini paylaşır. Tarayıcı çerezi her istekte kimliği gönderir; PHP doğru dosyayı yükler.
Oturumu session_destroy() ile kapatana veya çerez süresi dolana kadar veri korunur.
Uygulama $_SESSION'a kullanıcı ve rol yaz
session_start() çağır. $_SESSION['user']'a 'Ayşe', $_SESSION['role']'e 'admin' yaz. Sonra ikisini de alt alta echo ile yazdır.
Örnek çözümü göster
session_start çağır, iki anahtara değer ata, echo $_SESSION['user'] ve echo $_SESSION['role'] yaz.
Örnek çözüm:
<?php
// $_SESSION içine kullanıcı adı ve rol yaz, sonra yazdır
session_start();
$_SESSION['user'] = 'Ayşe';
$_SESSION['role'] = 'admin';
echo $_SESSION['user'] . "\n";
echo $_SESSION['role'] . "\n";
Kendini test et
-
Oturum verisi hangi süper globalde saklanır?
- $_SESSION
- $_POST
- $_GET
- $_COOKIE
Cevabı göster
$_SESSION — Doğru. $_SESSION süper globali oturum verisini sayfalar arası taşır.
-
Oturuma kullanıcı adını yaz
<?php session_start(); ____ $_SESSION['cart'] = ['item' => 'book']; echo $_SESSION['user'];Cevabı göster
<?php session_start(); $_SESSION['user'] = 'Ayşe'; $_SESSION['cart'] = ['item' => 'book']; echo $_SESSION['user']; -
Yazma ve okuma akışını eşleştir
- $_SESSION['x'] = 5
- Sayfa A'da veri yazılır
- session_start()
- Sayfa B'de önce çağrılır
- echo $_SESSION['x']
- Sayfa B'de 5 yazdırır
- session_id()
- Oturum kimliğini verir