Özet - Oturumlar
session_start, $_SESSION ve destroy'la basit bir giriş sistemi yazarsın.
Özet - Oturumlar
Bu grupta oturumların beş taşını öğrendin: session_start() ile başlatma, $_SESSION ile yazma, isset() ile okuma, unset() ile tek değişken silme ve session_destroy() ile tüm oturumu kapatma.
Bunları birleştirerek bir giriş/çıkış sistemi kurabilirsin: giriş başarılıysa oturuma kimlik yazarsın, korumalı sayfalarda kontrol eder, çıkışta temizlersin.
Son adımda bu akışın tamamını bir araya getiren bir mini uygulama var.
Giriş sistemini birleştir
Bir giriş sistemi üç parçadan oluşur: giriş (kimlik doğrula, oturuma yaz), kontrol (isset ile bak) ve çıkış (unset + destroy).
Girişte kullanıcı adı ve parola doğruysa $_SESSION['user'] yazılır. Korumalı her sayfa if (!isset($_SESSION['user'])) ile başlar; tanımsızsa giriş sayfasına döner.
Çıkış sayfası unset($_SESSION['user']) ve session_destroy() çağırır, sonra giriş sayfasına yönlendirir.
Uygulama Özet - Mini giriş ve çıkış
session_start() çağır. $_SESSION['user']'a 'Ayşe', $_SESSION['role']'e 'admin' yaz. echo ile Merhaba ve kullanıcı adını yazdır. Sonra unset($_SESSION['user']) çağır. if/else ile isset($_SESSION['user']) kontrol et: tanımlıysa var, değilse yok yazdır.
Örnek çözümü göster
session_start çağır, user ve role ata, echo Merhaba, unset($_SESSION['user']), if(isset(...)) ile var/yok yazdır.
Örnek çözüm:
<?php
// Oturum aç, karşıla, sonra oturum değişkenini sil
session_start();
$_SESSION['user'] = 'Ayşe';
$_SESSION['role'] = 'admin';
echo "Merhaba " . $_SESSION['user'] . "\n";
unset($_SESSION['user']);
if (isset($_SESSION['user'])) {
echo "var\n";
} else {
echo "yok\n";
}
Kendini test et
-
Oturum sisteminin beş taşını eşleştir
- session_start()
- Oturumu başlatır
- $_SESSION
- Veriyi saklar
- isset()
- Anahtarı kontrol eder
- unset()
- Tek anahtarı siler
- session_destroy()
- Tüm oturumu yok eder
-
Doğru çıkış sırası nedir?
- unset($_SESSION['user']) sonra session_destroy()
- session_destroy() sonra unset()
- Sadece session_destroy()
- Sadece unset($_SESSION)
Cevabı göster
unset($_SESSION['user']) sonra session_destroy() — Doğru. Önce kullanıcı değişkeni unset edilir, sonra oturum tamamen yok edilir.
-
Çıkışta kullanıcıyı sil
<?php session_start(); $_SESSION['user'] = 'Ayşe'; echo 'Merhaba ' . $_SESSION['user']; ____ $_SESSION['log'] = ['action' => 'logout']; var_dump(isset($_SESSION['user']));Cevabı göster
<?php session_start(); $_SESSION['user'] = 'Ayşe'; echo 'Merhaba ' . $_SESSION['user']; unset($_SESSION['user']); $_SESSION['log'] = ['action' => 'logout']; var_dump(isset($_SESSION['user']));