tablolar
users
id username password group
1 test1 xxxx 1,2,3,4
2 test2 xxxx 1,2,4
3 test3 xxxx 1
permissions
pid pname
1 panel
2 edit
3 delete
4 upload
Sayfanın başında veya index.php üzerinde dönüyorsa orada biryerlerde izinleri önceden çekin.
index.php
$perms = query("select * from permissions");
while ($perm = fetch_array($perms)){
$_SESSION['permissons'][$perm['pname']] = $perm['pid'];
}uyegiris.php
$uye = query("select * from users where username = 'test1'");
fetch_array vs....
$_SESSION['login'] = true;
$_SESSION['user']['username'] = $uye['username'];
$_SESSION['user']['group'] = explode(',', $uye['group_perm']);upload.php
if(in_array($_SESSION['permissions']['upload'], $_SESSION['user']['group'])){
göster.
}else{
hata ver.
}duznele.php
if(in_array($_SESSION['permissions']['edit'], $_SESSION['user']['group'])){
göster.
}else{
hata ver.
}Eğer group olarak izinleri ayarlamak istiyorsanız 3. bir tablo oluşturun. users tablosunda grouplar yerine groupid tutar sorguyla bu tablodan groupları çekersiniz.
perm_group
groupid groupname perms
1 admin 1,2,3,4
2 editor 1,2,3
3 demo 1
4 uye 1,2
Çok karışık olmamıştır umarım, kısaca buna benzer bir yapı oluşturabilirsiniz.