lostyazilim
tr.link

Php yetki işlemi için şuan hangi sayfada fonksiyonu nasıl?

3 Mesajlar 1.426 Okunma
acebozum
tr.link

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Bunu yapmamın amacı ne ?
Panelde bulunduğum sayfayı alıp yetki durumuna göre gösterip yasaklamam gerekiyor. Daha kolay bi yolu var mı bilmiyorum ama önceliğim bulunduğum sayfayı ve yapmak istediğim işlemi almak
http//localhost/site/paneli/makale/goster
Bu fonksiyon bana şu çıktıyı döndürüyor.
İşlem yapmak istediğin sayfa:Makale
İşlem:göster
Basit bi navigasyon gibi

$panel="paneli";
function tespitle()
{
$yerle=array();
$test=explode("/",$_SERVER["REQUEST_URI"]);
$dizinler=array("makale","galeri","resim","video","sayfalar","durum","iletisim","duyuru","anket","kategori","ayar","ayarlar");
$islemler=array("ekle","duzenle","goruntule","sil","ajax");
$dizin= array_search($this->panel,$test);
echo "
";
if(isset($test[$dizin+1]) and !empty($test[$dizin+1]))
{
for($a=0; $a {
if(isset($test[$a]))
{
if(in_array($test[$a],$dizinler))
{
$yerle["sayfa"]=$test[$a];
$b=$a+1;
if(!empty($test[$b]) and (in_array($test[$b],$islemler)))
{
if(in_array($test[$b],$islemler))
{
$yerle["islem"]=$test[$b];
}
else
{
$yerle["islem"]=null;
}
}
else
{

$yerle["islem"]=(($test[$a]=="ayar" and isset($test[$a+1])) ? $test[$a+1]:"göruntule");
}
}
else
{

}
}
}
}
return $yerle;
}
? >

Önerilerinize açığım.
 

 

elektronikssl
webimgo

NotBil NotBil WM Aracı Kullanıcı
  • Üyelik 25.06.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilişim
  • Konum Burdur
  • Ad Soyad H** Y**
  • Mesajlar 117
  • Beğeniler 1 / 40
  • Ticaret 0, (%0)
Eğer doğru anladıysam kullanıcılar tablona yetki diye bir sutun oluştur. 1-2-3 şeklinde yetkilendir.
Sayfada kullanıcıyı çek yetkiye göre kodları göster veya yetkisi yoksa yetki-yok.php ye yönlendir.

$gelenuye=$_SESSION['uyeid'];
$kullanicisor=mysql_query("SELECT *FROM user WHERE id='$gelenuye'");
$kullanicidiz=mysql_fetch_array($kullanicisor);
if($kullanicidiz['yetki']==1){
echo "Yetkisi 1 olan kullanıcının görebileceği kodlar";
}else{
echo"Bu sayfayı görmeye yetkiniz yok";
}
 

 

compost0x compost0x Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 26.05.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Muğla
  • Ad Soyad A** Y**
  • Mesajlar 99
  • Beğeniler 23 / 19
  • Ticaret 2, (%50)
İlk önce kullanıcı bilgilerini çekiyoruz, kullanıcı tablona bir yetki sütunu oluştur. 0-1-2-3-4 olsun bunlar.

0 - Hiçbir yere yetkisi yok (banlı üye gibi düşünebilirsin)
1 - Listele (Show)
2 - Listele + Ekle (Show + Add)
3 - Listele + Ekle + Düzelt (Show + Add + Edit)
4 - Listele + Ekle + Düzelt + Delete (Show + Add + Edit + Delete) (Admin)


$userbilgi = $db->prepare("SELECT id,username,yetki FROM users WHERE username = '".$_SESSION['username']."'");
$userbilgi->execute();
while($row=$userbilgi->fetch(PDO::FETCH_ASSOC)) {
$userid = $row["id"];
$useryetki = $row["yetki"];
}



Yetkilerini bu mantıkta kurarsan eğer ERM ve CRM projelerinde rahat edebilirsin.

geriye kalan bütün kodlarında ise yapacağın tek şey

if($useryetki==0){
// KULLANICI YETKISI 0 OLANLAR İÇİN SQL veya PHP KODLARI
}
elseif($useryetki==1){
// KULLANICI YETKISI 1 OLANLAR İÇİN SQL veya PHP KODLARI
}
elseif($useryetki==2){
// KULLANICI YETKISI 2 OLANLAR İÇİN SQL veya PHP KODLARI
}
elseif($useryetki==3){
// KULLANICI YETKISI 3 OLANLAR İÇİN SQL veya PHP KODLARI
}
else{
// KULLANICI YETKISI 4 OLANLAR İÇİN SQL veya PHP KODLARI
}
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al