Session ile php’de oturum kontrolü – veritabani yok, diskin bi yerinde olmasi lazım bulursak ileride belki onuda ekleriz.
Sorunuz olur ise altina yorum yapin.Elimden geldigince cevaplamaya calisirim.
index.php sayfasi
<body> <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>
ayar.php sayfasi
<?php $user = "admin"; $pass = "admin"; ?>
login.php sayfasi
<?php
session_start();// php tagından sonra kesinlikle bosluk olmayacak....
ob_start();
// ayar.php dosyamızı include ediyoruz ve session_start(); fonksiyonumuzu çalıştırıyoruz.
include("ayar.php");
//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();
?>
admin.php sayfasi
session_start();
include("ayar.php");
//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>";
}
?>
logout.php sayfasi
<?php
session_start();
ob_start();
session_destroy();
echo "Çıkış Yaptınız.Ana Sayfaya Yönlendiriliyorsunuz";
header("Refresh: 2; url=index.php");
?>