CodeBlanks Logo Icon CodeBlanks

$_SESSION ile veri saklama

PHP kursu · Orta seviye · Ders 83/115

$_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

  1. 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.

  2. 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'];
    
  3. 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

Orta seviye bölümündeki tüm dersler