Фильтрация доступа к админу - PullRequest
0 голосов
/ 17 января 2010

У меня есть боковое меню, которое я хочу, чтобы опция Admin отображалась ТОЛЬКО ЕСЛИ имя пользователя - admin. Просто если они администратор, он там, если их нет, он показывает другую ссылку на их профиль.

Снова, ПОЦЕЛУЙ (держи это очень просто) ... пожалуйста, я нуб.

Спасибо

Ответы [ 3 ]

1 голос
/ 17 января 2010

добавить в вашу базу данных 'user' столбец таблицы 'is_admin' и настроить его для пользователя

получить значение и сделать что-то вроде:

if(isadmin($user))
{
  echo "your admin bar";
}
0 голосов
/ 17 января 2010

Когда пользователь подключается, вы можете сохранить логическое значение в переменной сеанса, которая говорит, является ли пользователь администратором. Затем вы можете получить его:

if($_SESSION['admin'])
    echo 'The admin link';
else
    echo 'The profile link';

См. руководство по PHP , чтобы узнать, как использовать переменные сеанса.

0 голосов
/ 17 января 2010

Сначала вы идете и делаете запрос, чтобы увидеть, есть ли какие-либо записи с этим именем пользователя, и поле администратора отмечено. Если есть, то это имя пользователя является администратором. Однако это не будет работать, если есть несколько пользователей с одним и тем же именем пользователя, поэтому вы можете использовать вместо этого идентификатор пользователя.

function check_admin($username)
{
    // Look for a person with that username, and the admin field is set to ON
    $sql = 'SELECT * FROM TABLE WHERE User_Name="'.$username.'" AND Admin=1';
    $result = mysql_query($sql);
    // If there are any results, the person should be an admin (given usernames are unique)
    if(mysql_num_rows($result) !== 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

Тогда вы просто использовали бы его как чек

if(check_admin("bob") == true)
{
     // super secret admin stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...