Всем здраствуйте! Я новичок на Вашем форуме, но, думаю, здесь надолго))
Я модифицирую форум одного дяди, который писал его от руки. Форум предназначен для смартфонов, там все устроено так, чтобы и трафик экономился, и страница правильно отображалась на дисплее смарта. Столкнулся я с такой вот проблемой: я баню по нику, и записываю значение "1" в поле "baned" таблицы пользователей форума. Но форум на сессиях, и реально участник конференции блокируется в момент завершения его сессии. Тогда я сделал вот что: один раз достается значение с поля таблицы для конкретного пользователя и записывается в переменную $is_ban, а затем, при каждой попытке пользователя отправить какие-то запросы на форум (написать, создать тему, выложить файл) проверяется эта переменная. Если существует - выводится сообщение о блокировке данного акка. Вот код установления переменной:
А тут я проверяю на ее наличие:
Так вот! (что-то я долго говорю), возникла необходимость создание "модулей" - скриптов для работы с содержимым топика (добавка/удаление поста), для работы с содержимым форума, для работы с пользователями (admin.php), а не реализовывать все на протяжении одного скрипта index.php - как это и было. Поэтому я спрашиваю, есть ли возможность передать $is_ban в другой скрипт, и как это сделать? Или легче не заморачиваться и в каждом скрипте залазить в тэйбл проверять "baned"? Что рациональней? Кто такие глобальные переменные в PHP?
З.Ы. Заранее спасибо за ответы
З.Ы.Ы. Администрации: можно я не буду плодить темы на вашем форуме и все буду спрашивать в этой теме? :happy:
Я модифицирую форум одного дяди, который писал его от руки. Форум предназначен для смартфонов, там все устроено так, чтобы и трафик экономился, и страница правильно отображалась на дисплее смарта. Столкнулся я с такой вот проблемой: я баню по нику, и записываю значение "1" в поле "baned" таблицы пользователей форума. Но форум на сессиях, и реально участник конференции блокируется в момент завершения его сессии. Тогда я сделал вот что: один раз достается значение с поля таблицы для конкретного пользователя и записывается в переменную $is_ban, а затем, при каждой попытке пользователя отправить какие-то запросы на форум (написать, создать тему, выложить файл) проверяется эта переменная. Если существует - выводится сообщение о блокировке данного акка. Вот код установления переменной:
Код:
if(isset($_SESSION[user])) { // Если есть сессия юзера
// Запрос: вытянуть всех забаненных пользователей с текущим именем
$query = mysql_query("SELECT * FROM 'users' WHERE 'name' = '$_SESSION[user]' and 'baned' = 1");
$num = mysql_num_rows($query);
$row = mysql_fetch_object($query);
if($query) { // Если запрос прошел
if($num > 0) { // Если таких записей больше, чем "ничего"
$is_ban = 1; // Вердикт: забанен
}
}
}
Код:
elseif (isset ($is_ban) && $is_ban == 1) {
echo "<h1><font color='red'>Ошибка!</font></h1><br>Ваш аккаунт заблокирован. Это может быть связано с тем, что вы нарушили какой-либо пункт правил. Скоро появится отчетная тема, в которой будет указана возможная причина бана.<br>Просим Вас не создавать новых аккаунтов, т.к. это повлечет за собой увеличение длительности действия бана с блокировкой всех последующих аккаунтов без уведомления.<br>С уважением, администрация.";
}
З.Ы. Заранее спасибо за ответы
З.Ы.Ы. Администрации: можно я не буду плодить темы на вашем форуме и все буду спрашивать в этой теме? :happy: