gogman, Самая простая:
Два дополнительных поля в таблице пользователей - время до когда забанен и причина бана.
А в скрипте можешь проверять либо заполнено ли поле Причина либо время бана < time().
Но это из простых.
получается надо зделать программу, которая будет проверять дату бана до какого забанен, с текущей датой, например
$g=date('Y');
$m=date('m');
$d=date('d');
$h=date('H');
$g.$m.$d.$h - сравниваем с датой до которого забанен пользователь,если данная дата по больше разбаниваем, если меньше нет,
когда-то,у меня было реализованно примерно так:
было поле в таблице ban. если у этого поля было значение 1,то пользователю выводилась страница с тем,мол забанен. если ноль-то всё ок. проверка делалась всегда в шапке самой. у меня работала) но это нужно было для форума,где свой круг общзения,свои люди и который,как правило,помнишь,когда разбанить. это самое простое. но ты можешь усложнить с тем же временем бана и т.п.
самое простое указано в посте №2
И проверку просто на время, зачем проверять пустое или заполненное поле "причина бана"?
На мой взгляд для этого лучше отдельную таблицу создать, либо файл.
ид пользователя|ид пользователя, который забанил|время|причина
+архив наказаний можно вывести, как в пхпбб, для удобства так сказать.
#3
Не совсем удобный вариант для хранения и работы со временем.
Юзай time(),
Например бан на час записывай time() 3600,далее проверяй $time>time() где переменная то что записанно знач в бане,если надо превратить в человеческий вид , используй второй аргумент date('H.i.s',$time) помоему у тебя в этом запара.
Что касаеться отдельной таблици то... полюбому есть авторизация где идёт выборка данных юзверя,почему бы не дописать в таблу юзверей поля бана и выбирать всё скопом одним запросом. Помоему чють оптимал
добавлено спустя 1 минуту:
ьней,хотя то уж по коду со структурой ориентируйсь