lostyazilim
tr.link

explode kullanımı

3 Mesajlar 628 Okunma
acebozum
tr.link

AhmeCakmak AhmeCakmak WM Aracı Kullanıcı
  • Üyelik 30.11.2018
  • Yaş/Cinsiyet 23 / E
  • Meslek Öğrenci
  • Konum İzmir
  • Ad Soyad A** Ç**
  • Mesajlar 106
  • Beğeniler 21 / 16
  • Ticaret 3, (%100)
Merhaba herkese, bir sorun yaşıyorum, umarım yardımcı olan birileri çıkar..

Yazdığım kodlamanın "üyeler" tablosunda, kullanıcı adı, şifre vs.'nin yanında bir "yetki" sütunu var. Buraya 1,2,3 gibi yetki numaralarından birini giriyorum. Mesela 1 Yönetici, 2 moderatör gibi gibi.

Bir de "admin_pages" isminde ayrı bir tablo var bu tablonun da son sütunun ismi "perms".
Bu sütunda sayfaya erişebilecek yetkiler yazıyor ve "|" ayracı ile ayrılıyor. Yani mesela "Bilgiler" sayfasının yetkiler sütununda "1|2|3" yazıyor ise giriş yapan kişinin yetkisi 1,2,3'lerden biri ise bu sayfa erişebilecek fakat değil ise ana sayfaya yönlendirilecek.

Bunun için şöyle bir şey yazdım fakat bazı sorunlar yaşadım. Nerede hata yapıyorum?

$skont = query("SELECT * FROM admin_pages WHERE link = '$getsayf' AND active = '1'");
if(mysql_affected_rows()){
$sayfaverisi = fetch($skont);
if(file_exists("pages/$getsayf.php")){



if($sayfaverisi["perms"] != 0){
$yetkiler = explode("|",$sayfaverisi["perms"]);
foreach($yetkiler as $value){
if($_SESSION["yetki"] == $value){
require "pages/$getsayf.php";
}else{

}
}
}else{
require "pages/$getsayf.php";
}

}else{
require "pages/home.php";
}
}else{
yonlendir("index.php?error=12ffl44");
}
 

 

elektronikssl
webimgo

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)


$skont = query("SELECT * FROM admin_pages WHERE link = '$getsayf' AND active = '1'");
$homePage = "pages/home.php";
$pageUrl = "pages/".$getsayf.".php";
$PermsInSession = $_SESSION['yetki'];



if( mysql_affected_rows() )
{
$data = fetch($skont);

if ( !file_exists($pageUrl) )
{
require $homePage;
}else{

if ( $data->perms !== 0 ) // !== olmasinin nedeni gelen nesnenin tipinide kontrol etmesi gerekmekte.
{
$permissions = explode( "|", $data->perms );

if ( is_array($permissions) )
{
$perms = array_search($PermsInSession, $permissions);

if ( isset($perms) && $perms === true )
require $pageUrl;
}

} else {
require $pageUrl;
}
}

}else{
yonlendir("index.php?error=12ffl44");
}
 

 

kamilkartal kamilkartal WM Aracı Kullanıcı
  • Üyelik 16.06.2017
  • Yaş/Cinsiyet 43 / E
  • Meslek Tarım mğhendisi
  • Konum İstanbul Anadolu
  • Ad Soyad K** K**
  • Mesajlar 27
  • Beğeniler 0 / 1
  • Ticaret 0, (%0)
PDO kullanmak daha güvenlidir...
 

 

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