У меня есть такой сайт, как SO. И у меня есть таблица, как это:
// User
+----+---------+----------------------+--------+
| id | name | email | ban |
+----+---------+----------------------+--------+
| 1 | Peter | [email protected] | 0 |
| 2 | Jack | [email protected] | 2 |
| 3 | John | [email protected] | 1 |
+----+---------+----------------------+--------+
Когда пользователь заходит, я сохраняю ban
значение столбца в $_SESSION['ban']
, И у меня есть такие условия:
if ( $ban == 0 ) {
echo 'He has no limits and can do anything in this website';
} elseif ( $ban == 1 ) {
echo 'He can do anything except voting';
} elseif ( $ban == 2 ) {
echo 'He can do anything except commenting';
} elseif ( $ban == 3 ) {
echo 'He can do anything except answering';
} elseif ( $ban == 4 ) {
echo 'He can do anything except asking';
} elseif ( $ban == 5 ) {
echo 'He can do anything except favpriting';
} elseif ( $ban == 6 ) {
echo 'He can do anything except flagging';
} else {
echo 'He is totally banned from everything and he isn't able to do any activity here';
}
Как видите, я могу контролировать пользователей моего сайта на основеban
значение столбца
Какой у меня вопрос?
Мой алгоритм просто позволил мне забанить пользователя моего сайта только в одном случае (или голосование, или комментирование или пометка или ..) или все дела вместе (голосование, комментирование, пометка и …).
Другими словами, пользователь может быть:
Я имею в виду, я не могу забанить пользователя от обоих голосование а также комментирование. Как я могу улучшить свой алгоритм и внедрить бан для двух или трех случаев?
Задача ещё не решена.
Других решений пока нет …