The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.

Php’de Session Kavramı-Faydalı Şey

Tarih: Ocak 26th, 2011 | Yazar: Kayhan Öztürk | Kategori: PHP, Web | Yorum yok »

Adamlar düşünmüşler ve session kavramını çıkartmışlar .Neredeyse tüm sistemlerde kullanılan bu kod parçacıkları ,güvenlik açısından cookie’ler ile de birleşince bir hayli kullanışlı oluyorlar!  Cookie’lerin biraz geride kaldığını düşünen bir insan olarak da session’ların öneminin büyük olduğunu düşünüyorum. Geçenlerde bu konuyla ilgili kodlamış olduğum bir modülü paylaşmak istiyorum.

Öncelikle sistemimize giriş işlemini gerçekleştirmek için oturum.php sayfamızı oluşturalım.

<?php
session_start();
if(isset($_POST['userid']) && isset($_POST['password']))
{
//Kısa degişkenler oluşturduk.
$userid=$_POST['userid'];
$password=$_POST['password'];
$handle=new mysqli(“localhost”,”root”,”",”oturum”);
$query=”select * from boskef where
name=’$userid’ and password=’$password’”;
#Sorgu zamanıdır artk takip et beni[kodları] .
$result=$handle->query($query);
if(!$result)
{
echo”Sorgu yapılamadı”;
exit;
}
if($result->num_rows>0)
{
$_SESSION['auth_user']=$userid;
exit;
}
$handle->close();
}
?>

Şimdilik veritabanıyla bağlantı kısımlarını halletmiş bulunuyoruz.Kodlarımıza göre post yoluyla gelen kullanıcı adı ve şifresini sorguluyoruz.Eğer bu değişkenlerimizin değeri varsa da bunların veritabanında kayıtta olup olmadıklarına bakıyoruz.Şimdi de kullanıcıdan id ve şifre almamızı sağlayan form kısmını oluşturalım.
<html>
<head>
<title>Oturum Olayları</title>
</head>
<body><h1>Log In</h1>
<?php
echo “<form action=’oturum.php’ method=’post’>”;
echo “<table>”;
echo “<tr><td>Username</td>”;
echo “<td><input type=’text’ name=’userid’></td>”;
echo”</tr>”;
echo”<tr><td>Password</td>
<td><input type=’password’ name=’password’></td></tr>”;
echo “</table>”;
echo “<input type=’submit’ value=’Log in’>”;
echo”</form>”;
if(isset($_SESSION['auth_user']))
{
echo “Sayın:”.$_SESSION['auth_user'].”giriş yapmıs bulnyrsn”;
echo “<a href=’logout.php’>Log out</a>”;
}
else
{
if(isset($userid))
{
echo “Yanlıs oldu birader”;
}
else
{
echo “Sen daha oturum bile acmadın gerizekalı!”;
}
}
?>
<br>
<a href=’members.php’>Member Page</a>
</body>
</html>
Sistemimizin login kısmını oluşturduğumuza göre  bir de logout kısmını oluşturup, oturum kapatma işlemini gerçekleştirmeliyiz.Bunun için logout.php sayfasını oluşturalım. Bu kısımda öncelikle herhangi bir oturumun açık olup olmadığını kontrol edeceğiz.Eğer açık bir oturum varsa bu oturum değişkenimizi yok edip,oturumu kapatıp kullanıcının çıkışını sağlamış olacağız.
<?php
session_start();
unset($_SESSION['auth_user']);
session_destroy();
?>
<html>
<body>
<h1>Log Out</h1>
<?php
if(!isset($_SESSION['auth_user']))
{
echo “Cıkıs Yaptınız:”;
exit;
}
?>
<a href=’oturum.php’>Anasayfa</a>
</body>
</html>

Son olarak da oturum açmış kullanıcılar için oluşturacak olduğumuz member.php sayfamızı oluşturacağız.Eğer oturum değişkeni varsa kullanıcı bu sayfada rahat rahat takılabilecek :) Bu sayfadaki kodları incelediğinizde de görebileceğiniz gibi sadece oturum açmış kişiler bu sayfayı görebilecek .

<?php

session_start();

echo “<h1>Member only!</h1>”;

if(isset($_SESSION['auth_user']))

{

echo “<p>You are logged in as:”.”".$_SESSION['valid_user'].”</p>”;

echo “Members only goes here”;

}

else

{

echo “Giriş Yapılamadı,üzgünüm!<br>”;

echo “<p>Bu sayfayı sadece üyeler görebilir!</p>”;

}

echo “<a href=’oturum.php’>Anasayfaya Dön</a>”;

?>

Not:Session’ları kullanarak bir oturum paneli hazırlamış olduk.Bu kodlar tamamen benim ürünüm olup istendiği gibi geliştirilebilir ,dağıtılabilir ve silinip sıfırdan yazılabilir.Umarım faydasını görürsünüz.!

Kayhan Öztürk



Yorum Bırak