Я работаю над чем-то еще для себя, это для другого веб-сайта, который у меня есть. Она включает в себя много групп с правами доступа и такими, и теперь у меня есть функция, которая выглядит как этогоМоя функция PHP не работает
function hasPermission($user, $permission){
global $connection;
$sql = "SELECT * FROM admins WHERE `ID` = '". $user ."'";
$rs = $connection->query($sql);
if ($rs){
$user = $rs->fetch_array(MYSQL_ASSOC);
$userRank = $user['Rank'];
$sql = "SELECT * FROM `ranks' WHERE `RankName` = '". $userRank ."'";
$rs = $connection->query($sql);
if ($rs){
$rank = $rs->fetch_array(MYSQL_ASSOC);
if ($rank[$permission] == 1){
return true;
}
else{
return false;
}
}
}
else{
echo($connection->error);
}
}
Затем, когда я вызываю функцию с параметрами, установленных как этот if (hasPermission($_SESSION['ID'], 'IsFullAccess') == true)
он возвращает ложь, и я получаю мой Пользовательское сообщение об ошибке говорит, что у меня нет разрешения. И да, в моей базе данных столбец «IsFullAccess» установлен в 1 для этого ранга.
Что я здесь делаю неправильно?
Является ли 'user id' сохраненным как строка? вы уверены, что 'IsFullAccess' хранится в БД? –
Он хранится как целое число, однако я попытался удалить кавычки, и я получаю тот же результат. И да, я уверен, что «IsFullAccess» в базе данных – Cludas18
Я заметил, что я назначал переменную $ user новому значению, которое, поскольку оно было параметром функции, могло вызвать проблему. Поэтому я изменил это, и я все еще получаю ту же проблему. Если у кого-нибудь есть идеи, сообщите мне – Cludas18