PHP 8'de oturum (session) kullanarak kullanıcı verilerini yönetmeyi gösteren bir uygulama yapalım. Bu örnekte, bir kullanıcı giriş sistemi oluşturarak oturum değişkenlerini kullanacağız. Kullanıcı giriş yaptığında bilgilerini oturuma kaydedip, sayfalar arasında bu bilgileri nasıl kullanacağımızı göstereceğiz.
Uygulama: Basit Bir Kullanıcı Giriş Sistemi
1. Giriş Formu Oluşturma (login.php)
Öncelikle, bir form oluşturacağız. Bu formda kullanıcıdan adını girmesini isteyeceğiz ve bu veriyi oturumda saklayacağız.
<?php
session_start(); // Oturumu başlat
// Eğer oturumda kullanıcı adı varsa, kullanıcı zaten giriş yapmış demektir.
if (isset($_SESSION["kullanici_adi"])) {
header("Location: dashboard.php"); // Kullanıcıyı başka bir sayfaya yönlendir
exit;
}
// Form gönderildiğinde çalışacak kısım
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Kullanıcı adını al
$kullanici_adi = $_POST["kullanici_adi"];
// Kullanıcı adını oturuma kaydet
$_SESSION["kullanici_adi"] = $kullanici_adi;
// Başka bir sayfaya yönlendirme (örneğin "dashboard.php")
header("Location: dashboard.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Giriş Yap</title>
</head>
<body>
<h2>Giriş Yap</h2>
<form method="post" action="login.php">
<label for="kullanici_adi">Kullanıcı Adı:</label>
<input type="text" name="kullanici_adi" id="kullanici_adi" required>
<button type="submit">Giriş Yap</button>
</form>
</body>
</html>
Bu sayfa, bir formdan kullanıcı adını alır ve bunu oturuma kaydeder. Giriş yapıldıktan sonra kullanıcı "dashboard.php" sayfasına yönlendirilir.
2. Dashboard Sayfası (dashboard.php)
Giriş yaptıktan sonra kullanıcıyı karşıladığımız bir sayfa yapacağız. Burada kullanıcı oturumu aktifse ona bilgilerini göstereceğiz.
<?php
session_start(); // Oturumu başlat
// Eğer kullanıcı oturum açmamışsa giriş sayfasına yönlendir
if (!isset($_SESSION["kullanici_adi"])) {
header("Location: login.php");
exit;
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Hoş Geldiniz</title>
</head>
<body>
<h2>Hoş Geldiniz, <?php echo $_SESSION["kullanici_adi"]; ?>!</h2>
<p>Bu, kullanıcı giriş yaptıktan sonra görüntülenecek dashboard sayfasıdır.</p>
<a target="_blank" href="logout.php">Çıkış Yap</a>
</body>
</html>
Bu sayfa, oturumda kayıtlı olan "kullanici_adi" bilgisini kullanarak kullanıcıyı karşılar. Eğer oturum açmamışsa kullanıcıyı tekrar giriş sayfasına yönlendirir.
3. Çıkış Yapma (logout.php)
Kullanıcının oturumunu sonlandırmak için bir çıkış (logout) sayfası yapalım. Bu sayfa, oturum verilerini siler ve kullanıcıyı giriş sayfasına geri yönlendirir.
<?php
session_start(); // Oturumu başlat
// Oturum verilerini sil
session_unset(); // Tüm oturum değişkenlerini temizle
session_destroy(); // Oturumu tamamen yok et
// Giriş sayfasına yönlendir
header("Location: login.php");
exit;
?>
Bu sayfa, oturumdaki tüm verileri temizler ve oturumu sonlandırır. Daha sonra kullanıcı giriş sayfasına yönlendirilir.
Uygulama Akışı:
- Giriş Sayfası (login.php): Kullanıcı giriş yapar ve adı oturuma kaydedilir.
- Dashboard Sayfası (dashboard.php): Kullanıcı giriş yaptıysa karşılama mesajı gösterilir. Giriş yapmadıysa, giriş sayfasına yönlendirilir.
- Çıkış Sayfası (logout.php): Kullanıcı oturumunu sonlandırır ve tekrar giriş sayfasına yönlendirilir.
4. Sonuç
Bu uygulama, PHP 8'de session (oturum) kullanımını temel düzeyde göstermektedir. Oturumlar sayesinde kullanıcı bilgilerini sunucuda güvenli bir şekilde saklayabilir ve farklı sayfalar arasında bu verileri kullanabilirsiniz.
Bu uygulama geliştirilebilir:
- Şifre ile doğrulama eklenebilir.
- Oturum güvenliği için
session_regenerate_id()
gibi güvenlik önlemleri uygulanabilir. - Oturum süresi, güvenli çerezler gibi ek güvenlik ayarları yapılabilir.