2014-11-24 2 views
0

Кто-нибудь знает, как правильно настроить уровни пользователей? Например, если user level == 1 покажет контент для них, то если user level == 2 покажет контент для уровня 1 и уровня 2, то если level == 10, который является администратором, покажите контент для уровня 1,2 - и уровня администратора.Как реализовать уровни доступа пользователей PHP?

До сих пор у меня есть этот код, но он не работает так, как я ожидал:

<?php 

    // if membership level is (1) basic 
    if($userMember_level == 1 || $userMember_level == 2 || $adminMember_level == 10){ 
    content goes here for users of level 1,2 and Admin user 


    // if membership level is (2) advanced 
    }elseif($userMember_level == 2 || $adminMember_level == 10){ 
    content goes here for only users of level 2 and Admin user 


    // if membership level is (10) admin 
    }elseif($adminMember_level == 10){ 
    content goes here for admin user only, admin can also view levels 1 and 2 

    } 
?> 

То, что я пытаюсь сделать, это позволить администратору для доступа всех уровней, уровень 2 пользователей доступа уровни 1 и 2, а уровень 1 пользователей к уровню доступа только 1.

  • уровни 10 или администратора для уровней доступа (1,2, Admin)
  • уровень 2 пользователей для доступа уровней (1,2)
  • Пользователи уровня 1 для доступа (1)

Благодарим за любую помощь.

+0

Читайте о битах и ​​соответствующих значениях, это даст представление. Таким образом, вы ничего не будете смешивать, но количество уровней будет ограничено. Легче и гибче использовать отдельную таблицу с ACL. – Cheery

+0

Ваш лучший выбор, вероятно, иметь поле в таблице пользователей для «роли» или чего-то еще. Затем вы можете установить переменную сеанса для типа роли админов и соответственно скрыть/показать содержимое, используя jQuery или что угодно. – adanot

+0

Также, пожалуйста, напишите, какой код у вас есть. – adanot

ответ

1

Все, что я должен был сделать, это пойти в моей базе данных MySQL и внутри поля таблицы, которая гласит:

«membership_level», который является TINYINT 1

ввести (1) для основного пользователя, или (2) для продвинутого пользователя или (10) для администратора.

Это позволило мне увидеть все уровни пользователей, включая уровень администратора.

Спасибо всем за помощь.

Смежные вопросы