我要做的是做一个获得用户权限级别的函数,如这里所示。
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,为了访问选项卡,排名必须是什么?
不管怎样,我要么做错了要么我不知道自己在做什么。我完全没有错误,但我输入的代码似乎不可靠。
发布于 2015-07-15 02:52:54
您的代码只是执行,但不返回查询结果。作为示例,我对您的代码做了一些修改。
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) {...https://stackoverflow.com/questions/31419660
复制相似问题