在我的页面顶部,我验证我的函数“verifyLevel”是否存在。
此功能验证我的管理员级别。管理员可以拥有1级,2级或3级。
现在我正在编辑我的编辑用户页面,在这个页面中,我只想让级别为1的管理员可以编辑用户。
但是,我还有一个链接“我的个人资料”,因为每个用户都可以编辑自己的个人资料。对于这个功能,我希望1,2或3级有一个访问权。
这是我的链接:
<a title="my profile" href="dashboard.php?exe=useres/users-edit&userid=
<?php echo $_SESSION['admin']['id'];
?>">my profile
</a>
我现在遇到的问题是,当我正在进行级别验证时,当我点击“我的个人资料”链接时,我总是收到我的消息“你没有权限编辑管理员。”。
我的链接“我的个人资料”,只有在管理员拥有级别1时才有效,但此功能,我想要适用于所有管理级别。
您是否看到了解决此问题的方法?
这是我页面顶部的代码:
if(function_exists('verifyLevel')){
if(verifyLevel($_SESSION['result']['id']) != '1'){
echo 'You dont have permission to edit admins.';
}
else{
$userId = $_GET['userid'];
$read = $pdo->prepare("SELECT * from admins WHERE id = ?");
$read->bindParam(1, $userId, PDO::PARAM_INT);
$read->execute();
$result = $read->fetch(PDO::FETCH_ASSOC);
if(!$read->rowCount() >=1){
header('Location: dashboard.php?exe=users/index¬found=true');
}
....
答案 0 :(得分:1)
您可以在当前之前添加if if,检查您是否在我的个人资料页面上,以及他们是否为管理员1-3 -
if(function_exists('verifyLevel')){
$adminArray(1,2,3);
if( isset($_GET['exe']) && $_GET['exe'] == 'useres/users-edit' && in_array(verifyLevel($_SESSION['result']['id']), $adminArray) ){
// GET $_GET['userid'] profile
}
else if(verifyLevel($_SESSION['result']['id']) != '1'){
echo 'You dont have permission to edit admins.';
}
else{
...