v2.5.2
Giriş yap

yetkilendirme sistem - kod hatasi

Anonim
630 defa görüntülendi

yazdim bu kod calismiyor

function yetkikontrol()
{
    if (@$_SESSION['kul_yetki']==1) {
        return TRUE;
    } else {
        return FALSE;
    }
}

ve buraya saklamak isteyorum sadece admin gorsun

 <?php
if (yetkikontrol()) { ?>
    <a href="dashboard.php">Dashboard</a>
<?php } ?>
Cevap yaz
Cevaplar (5)
umutkorkmaz
1479 gün önce

Başına @ koymak hatayı kaldırmaz, gizler. Bu da sunucunuza yük binmesine sebep olur. Hosting kullandığınızı farz edersek bu şekilde hataları gizlemek suspend yemenize bile sebep olabilir. O yüzden hata almayacak şekilde kod yazmaya çalışmamız gerekiyor. Zaten bi hata varsa ortada, bir sorun var demektir. Haliyle kodun bazı durumlarda nasıl tepki verebileceğini bile kestiremezsiniz. Bu yüzden aşağıdaki şekilde kullanırsanız çok daha iyi bi sonuç elde edebilirsiniz.

function yetkikontrol()
{
    if (isset($_SESSION['kul_yetki']) && $_SESSION['kul_yetki'] == 1) {
        return true;
    } else {
        return false;
    }
}
 <?php
if (yetkikontrol()): ?>
    <a href="dashboard.php">Dashboard</a>
<?php endif; ?>
frdgk
1479 gün önce

@ziar değişken boş olduğu için hata veriyor. Eğer kul_yetki adlı session yoksa hata verir, varsa zaten direkt çalışır. Hata almamak için başına @ koyabilirsin.

makifgokce
1479 gün önce

aşağıdaki gibi dene
kul_yetki diye bişey daha önce tanımlanmadığı için böyle bir hata alıyorsun.

<?php if (isset($_SESSION['kul_yetki']) && $_SESSION['kul_yetki'] == 1) { ?>
    <a href="dashboard.php">Dashboard</a>
<?php } ?>

ziar
1479 gün önce

@frdgk yaptigin gibi yaptin ama olmadi boyle bir hatai ile karsilastim
Notice: Undefined index: kul_yetki in /opt/lampp/htdocs/IT-WORLD/include/static/navbar.php on line 43

frdgk
1479 gün önce

If kontrolünde fonksiyondan sadece true yada false sonucu geliyor sen bunu bir işlem yaptırmış olmuyorsun ki. Bu şekil işini görür.


<?php if ($_SESSION['kul_yetki'] == 1) { ?>
    <a href="dashboard.php">Dashboard</a>
<?php } ?>