Diğer Bölümler:
PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 1
PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 2
PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 3
PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 4
PHP İle Sıfırdan Üyelik Sistemi Kodluyoruz! - Bölüm 5 Final
İlk 2 bölümde, üye kayıt sayfamızı, veritabanımızı, login sayfamızı ve fonksiyonlarını oluşturmuştuk. Üye kaydımızı yapabiliyor, giriş yapabiliyor ve veritabanı sorgularını çalıştırabiliyoruz. Sıra geldi session yani oturum yönetimine. Oturum yönetimi dediğimiz zaman aklımıza gelecek şey, hani forum sitelerinde ya da diğer sitelerde giriş yaptıktan sonra tekrar tekrar giriş yapmanıza gerek kalmıyor, hangi sayfaya tıklarsanız tıklayın üyeliğiniz açık kalıyor, işte oturum yönetimi dediğimiz olay burada başlıyor. Bugün üye girişi yapıldıktan sonra, çıkış yapıncaya kadar session yönetimine bakacağız. Hemen başlayalım. :)
Adım 14 - Session Oluşturma
Bu kısımda, üye girişi yapıldıktan sonra eğer girilen bilgiler doğruysa yeni bir session başlatmaya bakacağız. Bunun için daha önce hazırlamış olduğumuz login.php sayfamıza bazı eklemeler yapıyoruz.
Bir Önceki Kod:
if ($uyesaydir > 0) {
echo '';
$girisbasarili = '
} else {
header("location: login.php?type=error");
}
Burada dikkat ederseniz üye girişi başarıyla sağlanırsa bir tebrik uyarısı yazdırmıştık. Şimdi bu kısımda biraz değişiklik yapacağız ve eğer üye girişi başarıyla sağlanırsa, üyeyi index.php sayfamıza yönlendirecek ve başarı mesajını orada yazdıracağız.
Yeni login.php kodu:
if ($uyesaydir > 0) {
session_start();
$_SESSION["username"] = $_POST["username"];
header("location: index.php?type=success");
} else {
header("location: login.php?type=error");
}
Burada ise, eğer üye bilgileri doğruysa session_start diyerek bir oturum başlattık, ardından $_SESSION['username'] = $_POST[''username]; diyerek, username oturumumuz üyenin post ettiği username olarak tanımladık. Sıra geldi index.php sayfamıza.
Adım 15 - Başlatılan Session'ı Tüm Sayfalarda Çağırma
Bu kısımda ise, üye başarıyla giriş yaptığı zaman onu index.php sayfasına yönlendirdik ve sayfaya session ekledik.
Kodlar:
session_start();
if($_SESSION) {
echo 'Hoşgeldiniz sayın ' . $_SESSION["username"];
}
if ($_GET["type"] == 'success') {
$girisbasarili = '
};
echo '
Buradaki kodlarımızın mantığı şudur:
session_start();
if($_SESSION) {
echo 'Hoşgeldiniz sayın ' . $_SESSION["username"];
}
Eğer sayfada bir SESSION varsa (burada isset POST/GET de kullanabilirsiniz), sayfanın en üstüne echo ile hoşgeldiniz yazdırdık.
if ($_GET["type"] == 'success') {
$girisbasarili = '
};
Burada ise eğer get ile gönderilmiş, url'de type=success varsa yine hoş geldiniz uyarısını yazdırdık. Şimdi kodlarımızı bir test edelim!
Harika! Girişimizi yaptık ve sonuçları aldık. Ancak session'ımız gerçekten çalışıyor mu diye yukarıdaki:
session_start();
if($_SESSION) {
echo 'Hoşgeldiniz sayın ' . $_SESSION["username"];
}
login.php sayfamıza ekleyip yeniden test edelim!
Harika! Oturumumuz çalışıyor ve biz çıkış yapana kadar sayfalarımızda giriş yaptığımızı anlıyor. Şimdi bir de çıkış sayfası hazırlayıp session'ı temizleyelim :)
Adım 16 - Çıkış (logout.php) Sayfası Oluşturma ve Session Temizleme
Bu kısımda öncelikle ana dizinimde logout.php adında bir dosya açıyorum.
Kodlar:
session_start();
session_destroy();
header("location: index.php");
logout.php sayfamıza giriş yapan üyelerin gönderdiği session'ı temizleyip tekrardan index.php sayfasına yönlendirdik. Oturum yönetiminin son aşamasında ise bir Çıkış Yap butonu ekleyeceğiz. Ancak bu buton, üye giriş yaptığı zaman sayfada görünecek.
Adım 17 - Çıkış Yap Butonu Ekleme
Kodlar:
if($_SESSION) {
echo 'Hoşgeldiniz sayın ' . $_SESSION["username"] . ' ';
}
else {
echo '';
}
Burada dikkat ederseniz 2 adet buton ekledik. Eğer sayfada session varsa Çıkış yap butonu eğer yoksa Giriş yap butonu ekledik. Şimdi oturum yönetimimizi test edelim, bakalım gerçekten işe yarıyor mu :)
Harika! Oturum yönetimimiz başarıyla çalışıyor. Bir sonraki bölümde session üzerinden özelleştirmeleri göreceğiz. Yani üye girişi yapıldıysa tekrardan login.php sayfasında ya da register.php sayfasında formları kapatıp farklı bildirimler koyacağız. Üyelere özel sayfa hazırlayıp, tüm sorguları özelleştireceğiz. Başarılar dilerim :)
Lions