PHP Oturum Kontrolü (SESSION)

Php ile oturum kontrolünün nasıl yapıldığını videolu olarak birlikte öğrenelim.. Oldukça kolay ve eğlenceli bir ders olduğunu göreceksiniz :)

Php ile oturum kontrolünün nasıl yapıldığını videolu olarak birlikte öğrenelim.. Oldukça kolay ve eğlenceli bir ders olduğunu göreceksiniz :)



İlk olarak bir giriş formu oluşturmamız gerekir..


<form action="giris.php" method="post">

<table cellpadding="5" cellspacing="5">

    <tr>

        <td>Kullanici Adi:</td>

        <td><input type="text" name="kullanici_adi" /></td>

    </tr>

    <tr>

        <td>Sifre:</td>

        <td><input type="password" name="sifre" /></td>

    </tr>

    <tr>

        <td></td>

        <td><input type="submit" value="Giris" /></td>

    </tr>

</table>

</form>



Metodumuzu post olarak belirledik ve giris.php sayfasında kontrollerimizi yapacağımızı belirttik.. Şimdi giris.php sayfasını oluşturalım..


<?php 

 

// Oturumu başlatalım

session_start();

 

// Mevcut Değerler

$mevcut_kullanici_adi "admin";

$mevcut_sifre "123456";

 

// Formdan gelen değerler

$gelen_kullanici_adi $_POST['kullanici_adi'];

$gelen_sifre $_POST['sifre'];

 

// Eğer bilgiler eşleşiyorsa oturumumuzu başlatalım

if ($gelen_kullanici_adi == $mevcut_kullanici_adi && $gelen_sifre == $mevcut_sifre){

    
$_SESSION['oturum'] = true;

    
$_SESSION['kullanici_adi'] = $gelen_kullanici_adi;

    echo 
"Giriş başarılı, birkaç saniye sonra yönlendiriliyorsunuz..";

    
header("refresh: 2; url=index.php");

}elseif (empty(
$gelen_kullanici_adi) || empty($gelen_sifre)){

    echo 
"Lutfen kullanici adi ya da sifrenizi girmeyi unutmayin..";

}elseif (
$gelen_kullanici_adi != $mevcut_kullanici_adi){

    echo 
"Girdiginiz kullanici adi hatali, lutfen tekrar deneyin!!";

}elseif (
$gelen_sifre != $mevcut_sifre){

    echo 
"Girdiginiz sifre hatali, lutfen tekrar deneyin!!";

}

 

?> ?>



session_start() fonksiyonu ile oturumu başlatıyoruz.. Daha sonra mevcut bir kullanıcı adı ve şifre belirliyoruz.. Ben bu örneğimde veritabanındaki kullanıcı adı ve şifre ile bir eşleşme yapmadım ancak mantık aynıdır. Bunu anlarsanız onuda yapabileceğinizi anlarsınız :) Forma girdiğimiz değerleride çektikten sonra birkaç if ifadesi kullandık.. İlkinde eğer girilen kullanıcı adım ve şifrem mevcut kullanıcı adı ve şifrem ile uyuşuyorsa oturumu başlatmam gerektiğini söylüyor.. Ve oturum değişkeni $_SESSION yardımıyla ilk olarak oturum adlı oturum değişkenini true değerine eşitliyorum..
[br ] Bunun sebebi herhangi bir sayfada oturum kontrolü yaptığımda isset fonksiyonu ile kontrol yapacağım için diyecem ki.. isset($_SESSION['oturum']) yani oturum adlı oturum değişkenimin değeri true ise.. O zaman oturum açılmıştır gibi anlayacaktır :) Bu sayede kontrollerimizi yapabilicez.. Birde girilen kullanıcı adınıda yine bir session değişkenine aktardık.. Bunuda oturum başlattığımız tüm sayfalarda kullanabiliriz.. Ve elseif ifadelerindede eğer boş ise, kullanıcı adı yanlış ya da şifre yanlış ise hata mesajlarınız yazdırdık..

Artık index.php dosyamızı aşağıdaki gibi değiştirebiliriz..


<?php 

 

session_start
();

 

if (isset(
$_SESSION['oturum'])){

 

    echo 
"Hos   geldiniz, <b>".$_SESSION['kullanici_adi']."</b> <a href='cikis.php'>Cikis Yap</a>";

     

}else {

    echo 
'<form action="giris.php" method="post">

<table cellpadding="5" cellspacing="5">

    <tr>

        <td>Kullanici Adi:</td>

        <td><input type="text" name="kullanici_adi" /></td>

    </tr>

    <tr>

        <td>Sifre:</td>

        <td><input type="password" name="sifre" /></td>

    </tr>

    <tr>

        <td></td>

        <td><input type="submit" value="Giris" /></td>

    </tr>

</table>

</form>'
;

}

 

?> ?>



Gördüğünüz gibi oturum başlattıktan sonra isset ile değişkenimin durumunu kontrol ettim.. Eğer true değeri dönüş ise if ifademin içindeki kodlar görünecek döndürülmemiş isede else ifadesindeki formum gözükecektir.. Ve yine gördüğünüz gibi kullanici_adi adlı oturum değişkenimide kullandım :)

Son olarak cikis.php dosyamızı hazırlayalım..


<?php 

 

session_start
();

$_SESSION = array();

session_destroy();

 

echo 
"Cikis yaptiniz, ana sayfaya yonlendiriliyorsunuz..";

header("refresh: 2; url=index.php");

 

?> ?>



Evet tekrar oturumu başlattık.. Daha sonra tüm oturum değişkenlerimizi sildik.. Ve session_destroy(); ilede oturum ID'mizi sildik.. Echo ile bir mesaj yazdırdık.. ve 2 saniye sonra index.php'ye yönlendirdik.. Olduda bitti :) Girdiğimiz gibi de çıkmayı başardık..
  • Etiketler;
Tayfun Erbilen
Hakkında bilgi yakında zamanda eklenecektir.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Hocam kullanıcı adı ve şifreyi veritabanından çekerken nasıl yapacağız bunu kod olarak verebilirmisin?
hasan veri tabanından cekerken böyle yapman lazım. kodlar : <?php $gelen_kullanici_adi=$_POST['kullanici_adi']; $gelen_kullanici_sifre=$_POST['sifre']; mysql_connect("localhost","root"); mysql_select_db("veri tabanın ismini buraya yaz"); $sorgu="select * from uyeler where kulad='".$gelen_kullanici_adi."' and sifre='".$gelen_kullanici_sifre."'"; $kontrol=mysql_query($sorgu); $sayi=mysql_num_rows($kontrol); if ($sayi!=0) { $_SESSION['oturum']=true; $_SESSION['kullanici_adi']= $gelen_kullanici_adi; echo"hosgeldın ".$gelen_kullanici_adi." anasayfaya yönlendiriliyorsunuz"; header("refresh: 2; url=index.php"); } elseif($gelen_kullanici_adi=="" && $gelen_kullanici_sifre=="") {echo"kullanici adi ve sifre boş gecilemez"; header("refresh: 1; url=index.php");} elseif(empty($gelen_kullanici_adi)) {echo"kulad boş gecilemez"; header("refresh: 1; url=index.php");} elseif(empty($gelen_kullanici_sifre)) {echo"sifre boş geçilemez"; header("refresh: 1; url=index.php");} else {echo"kullanici adi veya sifre yanlış" ; header("refresh: 2; url=index.php"); } ?> anlayamadıgın bi yer varsa sorabilirsin.

Yukarı Git