我想做的是让一个函数获得用户权限级别,如下所示。
function userPermission($level, $conn){
try{
$sql = "SELECT * FROM `users` WHERE username = :Player AND level = :Level ";
$s = $conn->prepare($sql);
$s->bindValue(":Player", $_SESSION['username']);
$s->bindValue(":Level", $level);
$s->execute();
return true;
} catch(PDOException $e) {
error_log("PDOException: " . $e->getMessage());
return false;
}
}
,一旦我进入页面,并输入代码,应该在这个函数的功能。它根本不起作用。
这是我输入的代码 <?php if (!userPermission('0', $conn) == 2) {
echo '<input type="radio" id="tab-7" name="tab-group-1">
<label for="tab-7">Permissions</label>';
} else {
echo '<input disabled=disabled type="radio" id="tab-7" name="tab-group-1">
<label id="disabled" for="tab-7">Permissions</label>';
}
?>
0是用户的当前级别我用它作为测试,对于== 3
这是为了访问选项卡
您的代码只是执行,但不返回查询结果。我修改了你的代码作为一个例子
function userPermission($username,$level, $conn){
try{
$sql = "SELECT `user_permission`
FROM `users`
WHERE username = :username AND level = :Level ";
$s = $conn->prepare($sql);
$s->bindValue(":username", $username);
$s->bindValue(":level", $level);
$s->execute();
$row = $s->fetch();
return $row['user_permission'];
} catch(PDOException $e) {
error_log("PDOException: " . $e->getMessage());
return -1;
}
}
确保也设置了会话
session_start();
$usermame = $_SESSION['username'];
if (!userPermission($username,'0', $conn) == 2) {...