Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Kullanıcılara yetki verme

Konu, 'PHP' kısmında Bigsnow tarafından paylaşıldı.

  1. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    Merhaba arkadaşlar. Kullanıcı ekleme paneline kullanıcıların bölümlere göre yetkilendirmesini yapmaya çalışıyorum. Güzel hoş oldu ancak for döngüleri ve sql sorgularını biraz fazla oldu gibime geldi. Bunun daha kolay bi yolunu yapabilir miyim diye sormak istedim. Aşağıdaki resim ve kodlarla daha iyi anlayabilirsiniz.

    [​IMG]

    PHP:
                <table style="font-size:12px;">
                    <
    tr>
                        <
    td width="130"><input type="checkbox" onclick="secKaldir('genelbilgiler[]')" /> <b>Genel Bilgiler</b></td>
                        <
    td width="149"><input type="checkbox" onclick="secKaldir('kategori[]')" /> <b>Kategori Yönetimi</b></td>
                        <
    td width="120"><input type="checkbox" onclick="secKaldir('sabitler[]')" /> <b>Sabit Sayfalar</b></td>
                        <
    td width="126"><input type="checkbox" onclick="secKaldir('icerik[]')" /> <b>İçerik Yönetimi</b></td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="genelbilgiler[]" value="1" /> Kullanıcı Listele</td>
                        <
    td><input type="checkbox" name="kategori[]" value="1" /> Kategori Listele</td>
                        <
    td><input type="checkbox" name="sabitler[]" value="1" /> Anasayfa</td>
                        <
    td><input type="checkbox" name="icerik[]" value="1" /> Sayfa Listele</td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="genelbilgiler[]" value="2" /> Kullanıcı ekle</td>
                        <
    td><input type="checkbox" name="kategori[]" value="2" /> Kategori ekle</td>
                        <
    td><input type="checkbox" name="sabitler[]" value="2" /> Referanslar</td>
                        <
    td><input type="checkbox" name="icerik[]" value="2" /> Sayfa Ekle</td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="genelbilgiler[]" value="3" /> Site ayarları</td>
                        <
    td>&nbsp;</td>
                        <
    td><input type="checkbox" name="sabitler[]" value="3" /> İletişim</td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="genelbilgiler[]" value="4" /> Kullanıcı Bilgilerim</td>
                    </
    tr>
                    <
    tr><td>&nbsp;</td></tr>
                    <
    tr>
                        <
    td width="130"><input type="checkbox" onclick="secKaldir('fotogaleri[]')"  /> <b>Foto Galeri</b></td>
                        <
    td width="149"><input type="checkbox" onclick="secKaldir('mails[]')" /> <b>Mail Listesi</b></td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="fotogaleri[]" value="1" /> Fotoğraf Listele</td>
                        <
    td><input type="checkbox" name="mails[]" value="1" /> Mail Listesi</td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td><input type="checkbox" name="fotogaleri[]" value="2" /> Fotoğraf Ekle</td>
                        <
    td><input type="checkbox" name="mails[]" value="2" /> Mail Gönder</td>
                    </
    tr>
                    <
    tr style="font-size:10px;">
                        <
    td>&nbsp;</td>
                        <
    td><input type="checkbox" name="mails[]" value="3" /> Mail Ekle</td>
                    </
    tr>
                </
    table>
    PHP:
                        //Kullanıcı yetkilerini atıyoruz                            
                        
    for ($i=0$i<=$tpl_genelbilgiler$i++ )
                        {
                            
    $b $genelbilgiler[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","kullanici_listele=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","kullanici_ekle=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","site_ayarlari=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","kullanici_bilgilerim=1","userid",$userid);
                            }
                        }
                        
                        for ( 
    $i=0$i<=$tpl_kategori $i++ )
                        {
                            
    $b $kategori[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","kategori_listele=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","kategori_ekle=1","userid",$userid);
                            }
                        }
                        
                        for ( 
    $i=0$i<=$tpl_sabitler $i++ )
                        {
                            
    $b $sabitler[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","anasayfa=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","referanslar=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","iletisim=1","userid",$userid);
                            }
                        }
                        
                        for ( 
    $i=0$i<=$tpl_icerik $i++ )
                        {
                            
    $b $icerik[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","sayfa_listele=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","sayfa_ekle=1","userid",$userid);
                            }    
                        }
                        
                        for ( 
    $i=0$i<=$tpl_fotogaleri $i++ )
                        {
                            
    $b $fotogaleri[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","fotograf_listele=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","fotograf_ekle=1","userid",$userid);
                            }
                        }
                        
                        for ( 
    $i=0$i<=$tpl_mails $i++ )
                        {
                            
    $b $mails[$i];
                            
                            if ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","mail_listele=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","mail_gonder=1","userid",$userid);
                            }
                            elseif ( 
    $b == )
                            {
                                
    db_update("yoneticiler_yetki","mail_ekle=1","userid",$userid);
                            }
                        }
                        
    //Kullanıcı yetkilerini atıyoruz
                        
                        
    header("Location: index.php?submenu=genel&islem=kullaniciekle&msj=1");
                    }
                }
    //Kullanıcı yetkilkerini atıyoruz
    Bu konuda yardımcı olursanız sevinirim çok fazla sql sorgusu oldu böyle
     
  2. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    Bi fikri olan yok mu ?
     
  3. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    daha neyi kısaltmak istiyorsunki. kodlar uzun olabilir ama vurkaç yapıcağı için pek bir hammallık olucağını sanmıyorum
     
  4. Bigsnow

    Bigsnow Daimi Üye

    Kayıt:
    20 Mart 2007
    Mesajlar:
    1,083
    Beğenilen Mesajlar:
    1
    Meslek:
    Öğrenci
    Şehir:
    Antalya
    Bütün yetkileri seçtiğinde tam olarak 16 tane sql sorgusu çalıştırmış oluyo ?

    Bunun daha kolay cinsten yapılabilinecke olanı yok mudur
     
  5. xam

    xam Daimi Üye

    Kayıt:
    28 Mart 2006
    Mesajlar:
    1,080
    Beğenilen Mesajlar:
    0
    1 sorgu ile yapilacak bir isi 16 sorgu ilemi yapiyorsunuz, ilginc.. peki tum degerleri degistirdiginizde 50 sorguya cikiyormu hehe :) asil ilginc olan buna destek veren zihniyet..

    yetkinlendirme tablo yapiniz nasil