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"); ?>