Çözüldü Site içerisinde yetkiyi ayarlamama rağmen yönetici paneline giremiyorum

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

ellas

Hectopat
Katılım
15 Ağustos 2019
Mesajlar
1.077
Çözümler
7
Daha fazla  
Cinsiyet
Erkek
Merhaba arkadaşlar, phpmyadmin tablosunda userPerm diye bir yer açtım ve orada 1 değerinde olanlar normal kullanıcı, 2 değerinde olanlar ise yönetici/admin gibi.
1700326556723.png

Daha sonrasında şöyle bir kod kullandım fakat bir hata alıyorum.

1700326591473.png


Bu bölüm, admin sayfasının header bölümünün en üst kısmında. Diğer kullanıcılar bu sayfaya ulaşmaması için bir kısıtlama koymak için bu kodları yazdım. Sonrasında normal bir şekilde "2" değerine sahip hesabımla kullanıcı girişi yapıyorum. Sonrasında ise admin sayfasına ulaşmaya çalışıyorum ve beni else kısmına yönlendiriyor(durum==izinsiz kısmıına). Nerede hata yapıyorum acaba?

1700327066926.png

Kodları buna çevirince ise "1" değerine sahip hesaplar (durum==izinsiz) kısmına gidiyor fakat "2" değerine sahip hesap ile deneyince ekranda bu yazıyor :
1700327113664.png


Güvenli bir şekilde kısıtlama yaptırmaya çalışıyorum fakat bunlarla karşılaştım. Bu sorunu nasıl düzeltebilirim, şimdiden teşekkürler.

Şu anda "1" yetkisine sahip olanlar izinsiz kısmına yönlendirilebiliyor, "2" yetkisi olanları admin sayfasına yönlendiremiyorum. "Bu sayfa çalışmıyor" hatası veriyor.
 
Son düzenleme:
Çözüm
Kod bloğundan hariç hatalar vardı çözüm bu mesajdadır.

Çalışmazsa AnyDesk üzerinden yardımcı olurum tekrar, bilgilendirebilirsin.

PHP:
// $userName ve $userPassword değişkenlerini bir formdan doldurduğunu ya da sessiondan çektiğini varsayıyorum çünkü göremedim bir şey. Ayrıca umarım şifreyi md5(sha1(şifre)) şeklinde kullanıyorsundur çünkü öbür türlü kullanımın yanlış olur. Ben düz haliyle yazıyorum.
$userName = $_POST['userName'];
$userPassword = $_POST['userPassword'];

$usersor = $db->query("SELECT * FROM register WHERE userName=:name && userPassword=:password && userPerm=:perm");
$usersor->execute(array(
    'name' => $userName,
    'password' => $userPassword,
    'perm' => 2
    ));
$say=$usersor->rowCount();
$usercek=$usersor->fetch(PDO::FETCH_ASSOC);

    if($say > 0){
        header("Location:index.php");
       
    } else {
        header("Location:/ModDunyasiCom/adminLogin.php?durum==izinsiz");
    }
Kod bloğundan hariç hatalar vardı çözüm bu mesajdadır.

Çalışmazsa AnyDesk üzerinden yardımcı olurum tekrar, bilgilendirebilirsin.

PHP:
// $userName ve $userPassword değişkenlerini bir formdan doldurduğunu ya da sessiondan çektiğini varsayıyorum çünkü göremedim bir şey. Ayrıca umarım şifreyi md5(sha1(şifre)) şeklinde kullanıyorsundur çünkü öbür türlü kullanımın yanlış olur. Ben düz haliyle yazıyorum.
$userName = $_POST['userName'];
$userPassword = $_POST['userPassword'];

$usersor = $db->query("SELECT * FROM register WHERE userName=:name && userPassword=:password && userPerm=:perm");
$usersor->execute(array(
    'name' => $userName,
    'password' => $userPassword,
    'perm' => 2
    ));
$say=$usersor->rowCount();
$usercek=$usersor->fetch(PDO::FETCH_ASSOC);

    if($say > 0){
        header("Location:index.php");
       
    } else {
        header("Location:/ModDunyasiCom/adminLogin.php?durum==izinsiz");
    }
 
Çözüm

Geri
Yukarı