• 12-10-2012, 19:38:19
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar..

    session kontrolünde bir yerde takılıyorum ama sonuç elde edemedim. bir yardım rica edeceğim.

    index sayfam

    <?php session_start();
    include("conf/baglanti.php");
    include("kontrol.php");
    include("header.php"); ?>
    
    Hoşgeldin<br>
    
    <a href="cikis.php">çıkış</a>
    <br>
    <?php include("footer.php"); ?>
    şeklinde

    login formu giris.php ye yönlendiriyor ve kodları:

    <?php include("conf/baglanti.php"); ?>
    
    <?php
    session_start();
    
    $Kullanici_Adi = $_POST["Kullanici_Adi"];
    $Sifre = $_POST["Sifre"];
    
    $sorgu = mysql_query("select * from Kullanicilar where Kullanici_Adi = '$Kullanici_Adi' and Sifre='$Sifre'");
    
    $uyevarmi = mysql_num_rows($sorgu);
    
    if($uyevarmi == 0) {
    	
    	echo "<script>location.href='hata.php';</script>". ""; 
    
    }else{
    
    $bilgi = mysql_fetch_assoc($sorgu);
    
    $_SESSION["Giris"] = $bilgi['Kullanici_Adi'];
    
    header('Location:./');
    
    }
    
    ?>
    ve kontrol sayfam

    <?php
    
    $giris_yapilmis = false;
    $uye = false;
    
    if( !empty($_SESSION["Giris"]) && !empty($_SESSION["Kullanici_Adi"]) ){
    
    $sorgu = mysql_query("select * from Kullanicilar where Kullanici_Adi='".$_SESSION["Kullanici_Adi"]."'");
    if( mysql_num_rows($sorgu) == 1 ){
    $uye = mysql_fetch_assoc($sorgu);
    
    if( $_SESSION["Giris"] =  $uye["Kullanici_Adi"]){
    $giris_yapilmis = true;
    }else{
    
    $uye = false;
    }
    }
    }
    ?>
    son olarak da çıkış sayfam

    <?php
    session_start();
    unset($_SESSION['Giris']);
    session_destroy(); 
    echo "<script>location.href='login.php';</script>"; 
    ?>
    şeklinde. index sayfamda çıkış linkine tıklayıp çıkış yapsam bile tekrar index sayfama giriş izni veriyor. yani bir şekilde session um çalışmıyor ama neden çalışmıyor bulamadım
  • 12-10-2012, 21:21:50
    #2
    kontrol sayfan da session_start yok
  • 13-10-2012, 10:36:58
    #3
    koydum ama br değişiklik yine yok
  • 13-10-2012, 13:34:12
    #4
    çıkış sayfasını
    <?php 
    session_start(); 
    $_SESSION['Giris']='';
    $_SESSION["Kullanici_Adi"]='';
    unset($_SESSION['Giris']);
    unset($_SESSION["Kullanici_Adi"]);
    session_destroy();  
    echo "<script>location.href='login.php';</script>";  
    ?>
    yapıp deneseniz ?
  • 13-10-2012, 18:34:23
    #5
    $_SESSION["Kullanici_Adi"]

    bu nerede tanımlanmış ben göremedim?
  • 13-10-2012, 18:51:42
    #6
    giris.php de

    $_SESSION["Giris"] = $bilgi['Kullanici_Adi'];
  • 13-10-2012, 18:53:49
    #7
    $_SESSION['Giris'] ayrı şey, benim söylediğim $_SESSION['Kullanici_Adi'] ayrı şey. Ben söylediğimin tanımlanmadığını farkettim sadece, belirtmek istedim.
  • 13-10-2012, 18:57:05
    #8
    pardon doğru söylüyorsun

    bu session ile kontrol benim kafamı çok karıştırdı. bi şekilde çözecem ama bakalım nasıl
  • 13-10-2012, 19:09:39
    #9
    Aşağıdakileri test eder misin..

    giris.php

    <?php 
    include("conf/baglanti.php");
    session_start();
    
    $Kullanici_Adi = $_POST["Kullanici_Adi"]; 
    $Sifre = $_POST["Sifre"]; 
    
    $sorgu = mysql_query("select * from Kullanicilar where Kullanici_Adi = '$Kullanici_Adi' and Sifre='$Sifre'"); 
    
    if(mysql_num_rows($sorgu) > 0) {
    	
        $bilgi = mysql_fetch_assoc($sorgu); 
    	$_SESSION["Giris"] = 'ok';
    	$_SESSION['Kullanici_Adi'] = $bilgi['Kullanici_Adi'];
    	header('Location:./');
    }else{ 
    	header('Location:hata.php');exit;
    } 
    
    ?>
    kontrol.php

    <?php
    if( $_SESSION["Giris"] != 'ok' || $_SESSION["Kullanici_Adi"] == '' ){ 
    	echo 'Giriş yapmadınız.';
    	exit;
    }
    ?>
    cikis.php

    <?php 
    session_start(); 
    session_destroy();  
    header('Location:login.php');
    exit;
    ?>