gpt4 book ai didi

php - 使用 php 在导航菜单中设置文件权限

转载 作者:行者123 更新时间:2023-11-28 23:54:54 25 4
gpt4 key购买 nike

您好,感谢您的提前帮助。我正在开发一个更强大的版本,但我需要一些短期的东西。我们创建了一个 2 层用户访问管理面板。员工和管理员。下面的代码是我们在短期内实现的较长版本的简短版本示例。首先我想检查他们的访问级别是 1 级还是 0 级。这是 OOP 中的一种方法。

    function menuPriviledge($dbCon){

$username = $_REQUEST['username'];

if($accessLevel = $this->dbConnection->query("SELECT access FROM UserProfiles WHERE username = '$username' LIMIT 0, 1")){
while($accessData = $accessLevel->fetch_assoc()){
$access = $accessData['access'];
}
}

在我完成回显这个顶部部分后,我得到了正确的答案,我得到了与帐户中当前用户名相关联的访问级别 1。这就是我一直在寻找的,所以我们很好,但是在下一个 if 语句中,我测试变量 $access = 为 1(下面的语句)如果它等于 1,我调用 printf 并显示当前列表为管理员准备的导航菜单,否则会为页面访问受限的员工显示不同的预设菜单。

            if(isset($access)){

switch($access){

case 1:
$query = "SELECT * FROM CVCUserFilePrivileges";
if($files = $this->dbConnection->query($query)){
while($access = $files->fetch_assoc()){
printf("<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Directory Listings</a></li>
<li><a title=\"Ads Manager\"><i class=\"icon-laptop\"></i>Ads Manager<span>5</span></a>
<ul>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Dealer Paid Listings</a></li>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Listing Side Ads</a></li>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Scrap Metal Page Ads</a></li>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Coin Request Page Ads</a></li>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Dealer Form Page Ads</a></li>
</ul>
</li>", $access['directoryList'], $access['dlrPaidListing'], $access['listingSideAds'], $access['scrapMetalAds'], $access['coinRequestAds'], $access['dlrFormAds']);
}
}
break;
case 0:
$query = "SELECT * FROM CVCUserFilePrivileges";
if($files = $this->dbConnection->query($query)){
while($access = $files->fetch_assoc()){
printf("<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Directory Listings</a></li>
<li><a title=\"Ads Manager\"><i class=\"icon-laptop\"></i>Ads Manager<span>1</span></a>
<ul>
<li><a href=\"%s\"><i class=\"icon-angle-right\"></i>Dealer Paid Listings</a></li>
</ul>
</li>", $access['directory'], $access['dlrPaidListing']);
}
}
break;
default:
echo "There is an error, no access level set, contact your database administrator";
}
}

当它半工作时,它会继续将首页链接添加到其下方的每个导航选项,因此每个导航选项都指向同一页面。当它不起作用时,它就会完全消失,导航甚至不存在。我希望我能够很好地解释这一点。问题似乎出在 if 语句上,我在其中测试了他们的访问级别,然后才显示导航菜单。

最佳答案

将代码更改为:

if(isset($access)) {

switch($access) {

case 1:
// do the code
break;

case 2:
// do the code
break;

}
}else{
echo "access not set";
}

试试这个。

Ps.: 1 它不同于“1”。你把你的sql字段设置为int了吗?

关于php - 使用 php 在导航菜单中设置文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31954341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com