Aşağıda yazdığım yetkilendirme kodlarıyla bir oyun sitesine admin panel yapmıştım. 10 seviyeliydi
örnek 5 seviyeli bir kod yazdım aşağıda çözmeye çalışın.
tablo sayfalar
kolon sayfa adı - kolon 1 2 3 4 5 (5 kolon oluştur ve her kolona aşağıdaki gibi sayfa yetkilerini seviyelendir)
yönetici sayfası -
1. kolon 11000 ( üye seviyesi 1 ve 2 olanlar yetkili )
2. kolon 10100 (üyelevel seviyesi 1 ve 3 olanlar bu sayfayı görebilir)
3. kolon 10000 ( üye level sadece 1 olanlar görebilir )
4.kolon 10010 (4. seviye ve 1. seviye adminler görebilir)
5. kolon 00000 (herkese kapalı)
( 5 çeşit admin yada moderator erişim yetkisi )
tablo üyeler
kolon uyeLevel 0 - 1- 2- 3- 4- 5 ( 5 çeşit yetki var 0 olan üyeler 1 ile 5 arası yönetici hesapları)
örnek 11000 0 olanlar üye 1 olanlar admin 5 basamaklı ilk 2 basamak ( üyeler tablosunda leveli 1 ve 2) olan kişiler bu sayfayı görebilir.
tablo üyeler uyelevel=(bu kolonda üyenin seviyesini belirt 0 ise üye 1 ise admin 5e kadar tanımla )
foreach($db->query("select * from where uyeid='$id'")as $row){
$uyelevel=$row[uyeLevel];
foreach($db->query("select * from sayfalar")as $row){
if($row[pageAccess][0]){$accesslevel[$uyeLevel];}
if ( $row[pageAccess][$uyeLevel-1] == "1" ) {
sayfalardaki 1. kolonda ilk sıradaki 1 ile üye level 1 ise bu kısmı görebilir. ikinci sıradaki 1 ile üye seviyesi 2 olan kişide görebilir. üçüncü sıradaki 0 olduğu için 3 nolu admin göremez. Biraz karışık gibi görünüyor olabilir. vaktim az tam anlatım yapamadım. mantığı anlatabildiysem işini çok kolaylaştırır.
echo "sayfayı yada konuyu görüyorsun";
}else{
echo "sayfayı yada konuyu görmüyorsun";}
örnek istersen http://oyunpist.com/admnp0/
kolay gelsin
örnek 5 seviyeli bir kod yazdım aşağıda çözmeye çalışın.
tablo sayfalar
kolon sayfa adı - kolon 1 2 3 4 5 (5 kolon oluştur ve her kolona aşağıdaki gibi sayfa yetkilerini seviyelendir)
yönetici sayfası -
1. kolon 11000 ( üye seviyesi 1 ve 2 olanlar yetkili )
2. kolon 10100 (üyelevel seviyesi 1 ve 3 olanlar bu sayfayı görebilir)
3. kolon 10000 ( üye level sadece 1 olanlar görebilir )
4.kolon 10010 (4. seviye ve 1. seviye adminler görebilir)
5. kolon 00000 (herkese kapalı)
( 5 çeşit admin yada moderator erişim yetkisi )
tablo üyeler
kolon uyeLevel 0 - 1- 2- 3- 4- 5 ( 5 çeşit yetki var 0 olan üyeler 1 ile 5 arası yönetici hesapları)
örnek 11000 0 olanlar üye 1 olanlar admin 5 basamaklı ilk 2 basamak ( üyeler tablosunda leveli 1 ve 2) olan kişiler bu sayfayı görebilir.
tablo üyeler uyelevel=(bu kolonda üyenin seviyesini belirt 0 ise üye 1 ise admin 5e kadar tanımla )
foreach($db->query("select * from where uyeid='$id'")as $row){
$uyelevel=$row[uyeLevel];
foreach($db->query("select * from sayfalar")as $row){
if($row[pageAccess][0]){$accesslevel[$uyeLevel];}
if ( $row[pageAccess][$uyeLevel-1] == "1" ) {
sayfalardaki 1. kolonda ilk sıradaki 1 ile üye level 1 ise bu kısmı görebilir. ikinci sıradaki 1 ile üye seviyesi 2 olan kişide görebilir. üçüncü sıradaki 0 olduğu için 3 nolu admin göremez. Biraz karışık gibi görünüyor olabilir. vaktim az tam anlatım yapamadım. mantığı anlatabildiysem işini çok kolaylaştırır.
echo "sayfayı yada konuyu görüyorsun";
}else{
echo "sayfayı yada konuyu görmüyorsun";}
örnek istersen http://oyunpist.com/admnp0/
kolay gelsin
Hocam json daha iyi değil mi?