Как сделать типы пользователей на PHP
 
			Буквально вчера мне задали вопрос, как сделать так, чтобы администратору выводились одни данные, гостю другие, а обычному пользователю третьи. Данный вопрос я слышу относительно часто, поэтому и решил написать статью о том, как сделать типы пользователей на PHP.
Сначала Вам необходимо добавить ещё одно поле в таблицу с пользователями. В этом поле будет содержаться число, характеризующее тип пользователя. Например, так:
- 1 - обычный пользователь
- 2 - модератор
- 3 - администратор
Теперь в самом скрипте надо написать примерно следующее:
<?php
  $login = $_SESSION["login"];
  /* Дальше идёт вызов функции, которая возвращает тип пользователя по логину. Это можно сделать через простешийи SQL-запрос. Если пользователя нет, то вернуть false. */
  $usertype = getuserType($login);
  /* Начинаем выводить контент в зависимости от типа пользователя */
  if (!$usertype) echo "Тут можно вывести форму входа";
  elseif ($usertype == 3) echo "Admin-доступ";
  elseif ($usertype == 2) echo "Вы модератор";
  elseif ($usertype == 1) echo "Вы обычный пользователь";
?>
	Это основа для разграничения прав доступа при работе с различными типами пользователей. Разумеется, вместо строк "Вы модератор" надо выводить что-то более полезное. Например, для всех авторизованных пользователей можно вывести ссылку, закрытую для гостей. А для администратора можно вывести ссылку на Admin-панель.
Вот таким достаточно простым и очевидным способом можно сделать типы пользователей на PHP с разграничением прав доступа.
- 
					Создано 06.04.2012 15:38:39  
- 
					 Михаил Русаков Михаил Русаков
 
			 
			 
		 
				 
			 
				 
				 
				 
				
Комментарии (4):
То есть можно вместо "echo ..." у групп ставить их права на просмотр той или иной страницы?
Ответить
Неопределённая функция: Fatal error: Call to undefined function getuserType().
Ответить
Эту функцию надо написать самому.
Ответить
Ахахах! Это я, конечно, круто спросил... Спасибо большое за ответ. :)
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.