re-incarnation
@re-incarnation

Проблема с библиотекой Red Bean php?

Суть проблемы такова, у меня есть сайт, у него есть регистрация и авторизация, а так же есть админ панель, я хочу сделать так что бы только пользователи со значением в базе данных могли туда заходить.
<?php
require '../db/db.php';

$user = R::findOne('users', 'dev = 1', array($_SESSION['logged_user']->login));
if( $user )
{
echo 'You are admin';
}
else
{
echo 'You are not admin';
}
?>


База данных.
6071ede0e2e4c589738877.png

Проблема в том, что он постоянно выводит первый эко, как сделать так, что бы если пользователь имел в бд ( dev = 1 ) доступ к админ панели был, а если нет то его просто header('Location: /');
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
re-incarnation
@re-incarnation Автор вопроса
Теперь понял почему прошлая версия была не правильная, там была просто проверка данных в активной сессии, когда я менял значения в таблицах бд, код реагировал на них только после обновления сессии ( в моём случае реавторизация ) В этот код вроде бы уже более менее правильный.
$user_active = $_SESSION['logged_user']->login;
$user = R::findOne('users', 'login = ?', [$user_active]);
if( $user->admin == 1 )
{
echo 'You are admin';
}
else
{
echo 'You are not admin';
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
toxa82
@toxa82
Не работал с Red Bean, но подозреваю что проблема в условии, у вас проверяется только флаг dev, но нет условия по логину/айди юзера. Поэтому он находит первую запись подходящюю под условие dev=1
Ответ написан
Комментировать
@DocTypeMaster
if($user->dev == 1) {

echo 'admin'

}
else {
соответственно юзер
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы