• 10-10-2023, 15:08:19
    #19
    DarkBlueSa adlı üyeden alıntı: mesajı görüntüle
    Bu kısımda session_start() yok. Kodun üst kısmında include var mıydı? İçerisinde session_start() olan.
    Sayfanın en başına bu var
    ob_start();
    session_start();
    
    include 'connect.php';
  • 10-10-2023, 17:16:36
    #20
    Üyeliği durduruldu
    Merhabalar,

    Öncelikle session'a "admin_authority" tanımlanmadıysa onu tanımlayın giriş işlemi sırasında!

    $sql="";
    if($_SESSION['admin_authority'] != "admin"){
        $sql = ' WHERE b.admin_username=:username';
    }
    
    $komisyonsor=$db->prepare("SELECT * FROM komisyonlar as k inner join administrator as b on k.komisyon_id=b.komisyon_id".$sql);
    if($_SESSION['admin_authority'] != "admin"){
        $komisyonsor->execute(array(
            'username' => $_SESSION['admin_username']
        ));
    }else{
        $komisyonsor->execute();
    }
    Olmazsa bunu deneyin kesin olacaktır.

    $sql="";
    if($_SESSION['admin_authority'] != "admin"){
        $sql = "WHERE b.admin_username='".$_SESSION['admin_username']."'";
    }
    
    $komisyonsor=$db->prepare("SELECT * FROM komisyonlar as k inner join administrator as b on k.komisyon_id=b.komisyon_id".$sql);
    $komisyonsor->execute();
    Pdo'nun ne anlamı kaldı ozaman gibi bir soru soran elbet çıkabilir diye cevap vereyim burada, boşuna tartışmaya girmeyelim. Session manipüle edilemediği için ve oradaki "b.admin_username" dışarıdan bir istekle doldurulmadığı için herhangi bir sql injection veya benzeri bir açığa sebebiyet vermeyeceğinden bu şekilde düzmantık kullanılabilir.

    İyi günler.
  • 10-10-2023, 17:55:09
    #21
    Yardımcı olmaya çalışan herkese teşekkür ederim. Sorun çözüldü.