Xwab
Форумыnavigate_nextПрограммирование на PHP

как сделать систему банов в форуме
Сообщения
gogman

как сделать систему банов в форуме, подскажите плиз

10 Мар 2011, 17:49
JESOD

gogman, Самая простая:
Два дополнительных поля в таблице пользователей - время до когда забанен и причина бана.
А в скрипте можешь проверять либо заполнено ли поле Причина либо время бана < time().
Но это из простых.

10 Мар 2011, 17:53
gogman

получается надо зделать программу, которая будет проверять дату бана до какого забанен, с текущей датой, например
$g=date('Y');
$m=date('m');
$d=date('d');
$h=date('H');
$g.$m.$d.$h - сравниваем с датой до которого забанен пользователь,если данная дата по больше разбаниваем, если меньше нет,

10 Мар 2011, 18:08
OTSHELNIK

когда-то,у меня было реализованно примерно так:

было поле в таблице ban. если у этого поля было значение 1,то пользователю выводилась страница с тем,мол забанен. если ноль-то всё ок. проверка делалась всегда в шапке самой. у меня работала) но это нужно было для форума,где свой круг общзения,свои люди и который,как правило,помнишь,когда разбанить. это самое простое. но ты можешь усложнить с тем же временем бана и т.п.

10 Мар 2011, 18:16
mazaHELL

самое простое указано в посте №2

И проверку просто на время, зачем проверять пустое или заполненное поле "причина бана"?

10 Мар 2011, 18:45
LooK

3, код жесть, это в одну строку пишется

10 Мар 2011, 18:48
JESOD

gogman, используй время из функции time() - в таком виде в базу записывай.

10 Мар 2011, 20:02
aBSuRD

На мой взгляд для этого лучше отдельную таблицу создать, либо файл.
ид пользователя|ид пользователя, который забанил|время|причина
+архив наказаний можно вывести, как в пхпбб, для удобства так сказать.

10 Мар 2011, 20:10
JESOD

aBSuRD, Да, но смотря для чего автору это.

10 Мар 2011, 21:39
КрошкаБуги

#3
Не совсем удобный вариант для хранения и работы со временем.
Юзай time(),
Например бан на час записывай time() 3600,далее проверяй $time>time() где переменная то что записанно знач в бане,если надо превратить в человеческий вид , используй второй аргумент date('H.i.s',$time) помоему у тебя в этом запара.
Что касаеться отдельной таблици то... полюбому есть авторизация где идёт выборка данных юзверя,почему бы не дописать в таблу юзверей поля бана и выбирать всё скопом одним запросом. Помоему чють оптимал
добавлено спустя 1 минуту:
ьней,хотя то уж по коду со структурой ориентируйсь

11 Мар 2011, 1:36
Ответить на тему