Php ile Session Oturum Yönetimi
Php 30 Ekim 2009Php4 versiyonu ile birlikte kullanılmaya başlanan Session yani Oturum, ziyaretçi bilgilerini diğer sayfalar arasında kullanabilmemizi, özelleştirilmiş sayfalar oluşturmamızı ve şifreli sayfalar gibi daha birçok konuda bize yardımcı olan çok faydalı bir özelliktir.
Siteye giren her ziyaretçi için öncelikle o ziyaretçiye özel Session ID ile oturum açılır.
Bu ID tarayıcı penceresi kapatılana kadar o site için değişmez. Ziyaretçi pencereyi kapatırsa sunucudaki Session ID değeri silinir ve tekrar siteye girdiğinde yeni bir Session ID atanır. Ziyaretçinin tüm etkinlikleri, sunucu tarafında kaydedilir. Örneğin alışveriş sitelerinde gördüğünüz sepet işlemleri ve bazı özelleştirmeler Session ID ile yönetilir.
Kullanımı:
<?php session_start() ?>
session_start() fonksiyonu oturum bilgilerine erişilmek istenen sayfaların başında mutlaka olması gereken bir komuttur. Session aslında kullanımı gayet kolay bir özelliktir, hemen basit bir uygulama ile ne kadar kolay olduğunu görelim.
Örnek Üyelik Sistemi
Giriş bilgilerini içinde tutacağımız ayarlar.php dosyamızı oluşturuyoruz.
<?php $kullanici = "admin"; $parola = "1234"; ?>
Şimdi de ziyaretçinin giriş yapacağı index.php dosyamızı oluşturalım. Ziyaretçi bu sayfadan giriş yapacak.
<form action="denetim.php" method="POST"> Kullanıcı Adı: <input type="text" name="kullanici"><br /> Parola: <input type="password" name="parola"><br /> <input type="submit" value="Giriş Yap"> </form>
Şimdi de giriş bilgilerinin denetleneceği ve sonucuna göre işlem yapacağımız denetim.php dosyasını oluşturuyoruz.
<?php
include("ayarlar.php");
session_start();
if(($_POST["kullanici"]==$kullanici) and ($_POST["parola"]==$parola))
{
$_SESSION["giris"] = "true";
$_SESSION["kullanici"] = $kullanici;
$_SESSION["parola"] = $parola;
header("Location:yonetim.php");
}
else
{
echo "Kullanıcı adı veya Şifre Yanlış.<br>";
echo "<a href=index.php>Geri dön</a>";
}
?>
denetim.php dosyasında $_SESSION özelliğini kullanarak 3 yeni session tanımladık. Bunlardan giris isimli olan true değerini taşır ve diğer sayfalarda bu değişken yardımıyla giriş yapılıp yapılmadığını kontrol ederiz. kullanici ve parola session’ları da giriş yapan ziyaretçinin kullanıcı adı ve şifre bilgisini tutacak, gerektiğinde yine bu bilgiler kullanılabilecek.
Şimdi yonetim.php isimli yönetim sayfasını oluşturalım
<?php
include("ayarlar.php");
session_start();
if(!isset($_SESSION["giris"]))
{
echo "Bu sayfayı görüntüleme yetkiniz yoktur.<br>";
echo "<a href=index.php>Giriş sayfası</a>";
}
else
{
echo "Admin Paneli<br>";
echo "<a href=\"cikis.php\">Çıkış Yap</a>";
}
?>
yonetim.php dosyasında kullandığımız isset() fonksiyonu, içerisine gönderilen değişkenlerin var olup olmadığını kontrol eder. Yani bir değişken daha önceden tanımlanmışsa TRUE tanımlanmamışsa FALSE değerini döndürür. Biz giriş yapan ziyaretçi için giris isimli bir session tanımlamıştık, bu sayfada onun var olup olmadığını kontrol ettik.
Şimdi giriş yapan kullanıcının çıkış yapması için cikis.php dosyasını oluşturalım
<?php session_start(); session_destroy(); echo "Çıkış işlemi tamamlandı."; echo "<br><a href=index.php>Anasayfa</a>"; ?>
cikis.php dosyasında kullandığımız session_destroy() komutu açılmış olan oturumun tüm bilgilerini silmek için kullanılır. Bu uygulamayı localhost’ta çalıştırıp inceleyin. session kullanımının ne kadar basit olduğunu göreceksiniz.
Makalenin çalışma dosyalarına http://www.celalyurtcu.com/dosyalar/session.zip adresinden ulaşabilirsiniz.
Etiketler: kullanımı, oturum, Php, php üyelik sistemi, session, yönetim
İlgili Makaleler
2.627 defa okundu
Yazdır
Bu yazıya yapılan yorumları dilerseniz, RSS 2.0 beslemesini kullanarak takip edebilirsiniz.













30 Mart 2010 22:15
merhaba hocam.ben mezuniyet projem icn web sayfası hazırlıyorum.php/mysql kullanıyorum.uyeler icin farklı farklı taplolarım var ama hepsi birbiryle iliskili.ornegin ilk once kisi siteye uye olacak profil bilgileri ilgili tabloya katdedilecek ondan sonra ozgecmis hazırlayacak kendisine ve formdaki bilgiler gerekli taplolara kaydedilecek uzun zamandır pesindeyim bu konunun ama basaramadım.bir suru forma yazdım hic birinden acıklayıcı bilgi alamadım umarım siz yardımıcı olursunuz mezuniyet projem oldugu icin mutlaka yapmam gerekiyor lutfen yardımlarınızı esirgemeyin.iyi calısmalar
6 Temmuz 2010 13:39
yonetim.php de hep echo echo mu kullanıcaz rahatça html kodlarını nasıl kullanabiliriz ? sonuçta admin paneli yapıyoruz dimi (:
10 Mayıs 2011 21:46
Çok Güzel Anlatmışsınız Hocam Ellerinize Sağlık
25 Ağustos 2011 17:05
Teşekkür ederim
27 Ağustos 2011 15:19
her tarafta okudum bi tek burada anladim cok saol
2 Kasım 2011 21:23
Anlamadığım bi nokta var.
yonetim.php sayfasında;
if(!isset($_SESSION["giris"])){
echo “Bu sayfayı görüntüleme yetkiniz yoktur.”;
echo “Giriş sayfası”;
}
else {echo “Admin Paneli”;echo
“Çıkış Yap”;
}
————————
if ile başlayan kısım şu anlama gelmiyor mu?:
Eğer $_SESSION ile gelen “giris” true ise (echo başlıyor)admin paneline gir,
true değilse (echo başlıyor)sayfayı görme yetkiniz yoktur.
anlamaya çalışıyorum ama bu şekilde yorumladım. Fakat önce yetki yoktur sonra admine paneline giriş diye yazılmış. isset tersine mi çalışıyor? Ya da ben neyi kaçırıyorum.
5 Kasım 2011 22:09
@Mustafa
Dikkatinden kaçan nokta isset fonksiyonunun en başındaki ünlem ! işareti. Yani giris isimli session tanımlı değilse bu sayfayı görüntüleme yetkiniz yoktur mesajı görüntüleniyor. Php’de operatörlerin kullanımı ile ilgili şuradaki makalemi incelemeni öneriyorum.