• 26-11-2021, 21:22:07
    #1
    Üyeliği durduruldu
    selam arkadaşlar öncelikle bir konuda takıldım php de bir kullanıcıyı banladığımda banlı kullanıcı sayfayı yenilediğinde direk banlansın istiyorum ama yapamadım ..yani şöyle oluyor kullanıcının role_id si 3 ise banlanıyor fakat kullanıcı çıkış yaptığında etkili oluyor bunu engellemenin başka bir metodu yokmu nasıl bir kod yazmak gerekir yardımlarınızı bekliyorumlogin giriş kodlarıda aşağıda atıyorum...

    if (!empty($_POST['email']) && !empty($_POST['sifre'])) {
    $bir= 1;
    
    $giris= $db->prepare("SELECT* FROM users WHERE email=? AND password=? AND role_id =?");
    
    $sifre= md5($_POST['sifre']);
    $giris->bindParam(1,$_POST['email']);
    $giris->bindParam(2,$sifre);
    $giris->bindParam(3,$bir);
    
    $giris->execute();
    
    $fet= $giris->fetch(PDO::FETCH_ASSOC);
    $giro= $giris->rowCount();
    
    
    if ($giro) {
    
    $_SESSION['admin']= 1;
    $_SESSION['name'] = $fet['name'];
    $_SESSION['email'] = $fet['email'];
    $_SESSION['id'] = $fet['id'];
    $_SESSION['role_id'] = $fet['role_id'];
    
    
    
    }
    
    else{
    
    $_SESSION['admin'] = 0;
    
    
    }
    
    }
    
    if (!empty($_SESSION['admin']) == 1) {
      
    header("Location: anasayfa.php");
    
    
    }
  • 26-11-2021, 21:25:13
    #2
    Header'e
    if ($role_id=="3") {header("Location:yasakli_uye.php");}
    Şeklinde bir kontrol ekleyin.
  • 26-11-2021, 21:32:16
    #3
    Üyeliği durduruldu
    oktayc0 adlı üyeden alıntı: mesajı görüntüle
    Header'e
    if ($role_id=="3") {header("Location:yasakli_uye.php");}
    Şeklinde bir kontrol ekleyin.
    çalışmıyor hocam olmuyor
  • 26-11-2021, 21:34:29
    #4
    Betmen35 adlı üyeden alıntı: mesajı görüntüle
    çalışmıyor hocam olmuyor
    hocam bu haliyle zaten çalışmaz.

    Kullanıcı giriş yaptığında Veritabanından çekilen veriler arasına ban parametresini ekleyin.
    Daha sonra verdiğim örnekteki gibi
    if ($_SESSION["role_id"] == "3") { header("Location:yasakli-uye.php"); }
    bir kontrol fonksiyonu ekleyin ve banlı kullanıcıları sistemden atın.

    Size önceki yorumda bahsettiğim şey sadece anlamanız için bir örnekti.
  • 26-11-2021, 21:36:41
    #5
    Üyeliği durduruldu
    oktayc0 adlı üyeden alıntı: mesajı görüntüle
    hocam bu haliyle zaten çalışmaz.

    Kullanıcı giriş yaptığında Veritabanından çekilen veriler arasına ban parametresini ekleyin.
    Daha sonra verdiğim örnekteki gibi
    if ($_SESSION["role_id"] == "3") { header("Location:yasakli-uye.php"); }
    bir kontrol fonksiyonu ekleyin ve banlı kullanıcıları sistemden atın.

    Size önceki yorumda bahsettiğim şey sadece anlamanız için bir örnekti.
    tamam şuan yazdığınız gibi yaptım yine olmadı
  • 26-11-2021, 21:39:32
    #6
    Betmen35 adlı üyeden alıntı: mesajı görüntüle
    tamam şuan yazdığınız gibi yaptım yine olmadı
    Hocam siz sessiona role_id değerini giriş'te atadınız mı ki olsun?

    Size gönderdiğim kopyala yapıştır olarak çalışacak bir kod değil.
    Sürekli olarak false döner ve sürekli olarak yasakli-uye.php dosyasına yönlenirsiniz.
    Sizin yapmanız gereken ilk işlem, kullanıcı giriş yapınca $_SESSION içerisinde role_id değerinide tutmanız ve bu değeri header.php dosyasının başına, verdiğim örnek kod ile sorgulama yapmanız gerekmekte.
  • 26-11-2021, 21:41:01
    #7
    Betmen35 adlı üyeden alıntı: mesajı görüntüle
    çalışmıyor hocam olmuyor
    ve 'header' olarak demek istediği tüm sayfalara dahil olan bir dosyaya session kontrol kodlarını eklemelisiniz.
  • 26-11-2021, 21:42:44
    #8
    Üyeliği durduruldu
    oktayc0 adlı üyeden alıntı: mesajı görüntüle
    Hocam siz sessiona role_id değerini giriş'te atadınız mı ki olsun?

    Size gönderdiğim kopyala yapıştır olarak çalışacak bir kod değil.
    Sürekli olarak false döner ve sürekli olarak yasakli-uye.php dosyasına yönlenirsiniz.
    Sizin yapmanız gereken ilk işlem, kullanıcı giriş yapınca $_SESSION içerisinde role_id değerinide tutmanız ve bu değeri header.php dosyasının başına, verdiğim örnek kod ile sorgulama yapmanız gerekmekte.
    hocam zaten girişte role_id değerini tutuyorum ama nedense çalışmıyor anlamadımki birtürlü
  • 26-11-2021, 21:44:40
    #9
    İçerisinde değer tutuyor mu, hiç baktınız mı?

    print_r($_SESSION['role_id']);

    Veya session başlattınız mı?

    session_start();