Türkçesi oturum anlamına gelen session bilgilerin saklanması için kullanılan mantıksal bir nesnedir.Session oturum yönetimini kullanarak şifreli sayfalar oluşturarak ve bu sayfaları belirlediğiniz kullanıcıların görmesini sağlayabilirsiniz.
Php ile Oturum Yönetimi (SESSION)
Ayrıca session kullanarak sitemize giren her ziyaretçiye atanan id ile kişiye özel bir alışveriş sepeti yapabiliriz.
Ziyaretçiye otomatik olarak bir id atandığında sepete eklediği her ürün sepette gözükür.Sepetteki ürünleri satın al dediğinde üyelik sayfasına yönlendirilir ve üye olduğunda sepette saklanan ürünlerin ödemesi yapılır.Genel mantık bu şekildedir.
Session oturum yönetimini kullandığımız sayfaların en başına:
session_start();
fonksiyonunu kullanmamız gereklidir.Neden gereklidir derseniz bu fonksiyon olmadan oturumu yönetemessiniz.
Örneğin bir üyelik sayfamız var ve üyelik sayfamıza giriş yapacağız.İlk önce ayar.php dosyamızı oluşturup içine kullanıcı adımızı ve şifremizi tanımlıyoruz.
<?php
$user = “admin”;
$pass = “admin”;
?>
Daha sonra index.php sayfamızı oluşturup giriş formumuzu yapıyoruz.
<form action=”login.php” method=”POST”>
<table align=”center”>
<tr>
<td>Kullanıcı Adı</td>
<td>:</td>
<td><input type=”text” name=”user”></td>
</tr>
<tr>
<td>Şifre</td>
<td>:</td>
<td><input type=”password” name=”pass”></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=”submit” value=”Giriş”></td>
</tr>
</table>
</form>
Burada kullanıcı adı ve şifremizi girmemiz gereken iki form kutucuğu oluşturduk.Ve giriş butonuna bastığımızda bizi login.php sayfasına yönlendirecek ve orada kullanıcı adımızın ve şifremizin doğru olup olmadığını kontrol edecek.
Şimdi login.php sayfamızı oluşturuyoruz.
<?php
// ayar.php dosyamızı include ediyoruz ve session_start(); fonksiyonumuzu çalıştırıyoruz.
include(“ayar.php”);
session_start();
ob_start();
//formdan gelen bilgileri çekip ayar.php dosyamızdaki bilgilerle doğru olup olmadığını kontrol ediyoruz.
if(($_POST[“user”]==$user) and ($_POST[“pass”]==$pass)){
//eğer bilgiler doğruysa login ismi verdiğimiz session kaydını yapıyoruz.ve session kaydını kullanıcı adıyla şifremize eşitliyoruz.
$_SESSION[“login”] = “true”;
$_SESSION[“user”] = $user;
$_SESSION[“pass”] = $pass;
header(“Location:admin.php”);
}else{
//diğer durumda hata mesajı verip giriş sayfamıza yönlendiriyoruz.
echo “Kullanıcı adı veya Şifre Yanlış.”;
header(“Refresh: 2; url=index.php”);
}
ob_end_flush();
?>
Not: ob_start() fonksiyonu kafanızı karıştırmasın o fonksiyonu header() fonksiyonunu çalıştırmak için kullandık.
Şimdi admin.php sayfamızı oluşturuyoruz.
<?php
include(“ayar.php”);
session_start();
//eğer login session kaydı yapılmadan yani giriş yapmadan admin.php sayfamıza erişmek isterlerse buna engel oluyoruz.
if(!isset($_SESSION[“login”])){
echo “Bu sayfayı görüntüleme yetkiniz yoktur.”;
}else{
echo “Admin sayfası<br>”;
echo “<a href=”logout.php”>Çıkış Yap</a>”;
}
?>
Şimdi logout.php sayfasıyla session kaydını silip siteden çıkış yapacağız. Bunun için session_destroy(); fonksiyonunu kullanacağız.
<?php
session_start();
ob_start();
session_destroy();
echo “Çıkış Yaptınız.Ana Sayfaya Yönlendiriliyorsunuz”;
header(“Refresh: 2; url=index.php”);
?>
Yaptığımız örnek ile umarım session kullanımını anlamışsınızdır.
Uygulama dosyasını http://www.guraysuerdem.com/dosya/session.rar adresinden indirebilirsiniz.
Kaynak
•http://www.guraysuerdem.com/php-ile-oturum-yonetimi-session/