Добрый день дамы и господа, то есть пользователи этого форума.. Как бы банально не звучало или что то еще..но у меня есть просьба.... Просьба заключается в пошаговом примере и объяснение создания группы пользователей в mysql и дача им прав доступа php..
Знаю многие пошлют меня искать скрипты и прочее...но я искал....не нашел....нашел но не совсем понял принцип и снова бросил...вот снова вернулся к этому вопросу из любопытства...
вот три типа пользователей
Гость имеет только возможность чтение но не имеет других возможностей и не имеет доступа к закрытому разделу,контенту и прочее..
Группы Пользователь регистрированный.. имеет возможность комментировать, редактировать свои комменты, видеть закрытый раздел который виден для пользователей.
Группы Модератор это понятно уж
Группы младший администратор.
Группы Администратор это тоже понятно..
хочется понять принцип всего...надеюсь поможете и объясните..а то надоело биться об стену и не понимать...
1. Fsingle - 27 Мая, 2012 - 12:35:39 - перейти к сообщению
2. Medallion - 27 Мая, 2012 - 13:21:05 - перейти к сообщению
Я так себе представляю реализацию.
При регистрации пользователя в табличку users с данными при регистрации, допустим в поле action назовем его так, мы записываем число 1.
Для младшего модера, число 2
Для модера - число 3
Для админа - число 4
В каждой таблице с данными форума, есть также поле action, где стоит определенная цифра, для кого показывать это контент.
Если ноль, это по-умолчанию, для гостя, для всех.
Как пользователь, заходит на сайт, вводя свой логин и пароль, сначала выбирается поле users с полем action и составляется запрос, выбрать мне те поля в таблицах, где значение action пользователя, меньше или равно значение action полей контента.
При регистрации пользователя в табличку users с данными при регистрации, допустим в поле action назовем его так, мы записываем число 1.
Для младшего модера, число 2
Для модера - число 3
Для админа - число 4
В каждой таблице с данными форума, есть также поле action, где стоит определенная цифра, для кого показывать это контент.
Если ноль, это по-умолчанию, для гостя, для всех.
Как пользователь, заходит на сайт, вводя свой логин и пароль, сначала выбирается поле users с полем action и составляется запрос, выбрать мне те поля в таблицах, где значение action пользователя, меньше или равно значение action полей контента.
3. Green - 27 Мая, 2012 - 13:21:35 - перейти к сообщению
Обычно делают так:
Создают таблицу, ну например groups. В ней два поля. Id, name.
Добавляется запись:
id | name
1 | Администраторы
В таблицу с пользователями, например users, добавляется поле(ячейка) group_id.
Делаем запрос, и мы получаем из БД все данные пользователя.
Создают таблицу, ну например groups. В ней два поля. Id, name.
Добавляется запись:
id | name
1 | Администраторы
В таблицу с пользователями, например users, добавляется поле(ячейка) group_id.
Делаем запрос, и мы получаем из БД все данные пользователя.
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $sql = "SELECT * FROM `users` WHERE `id` = '" . $_SESSION["user_id"] . "'";
Предположим, что в $_SESSION["id_user"] хранится ID пользователя.
Делается еще один запрос.
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $sql = "SELECT * FROM `groups` WHERE `id` = '" . $user["group_id"] . "'";
Теперь смотрите. Добавляем ячейку edit_comment, с default 'no'. Правим запись Администраторы в таблице с группами, в edit_comment вставляем: yes.
Далее в скрипте делаете проверку:
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- if($group["edit_comment"] == "yes") {
- /* тут код который редактирует комментарии */
- }
- else {
- /* тут сообщения мол нету прав */
- }