Как передавать переменные из скрипта в скрипт или что такое глобальные переменные в Php?

Статус
Закрыто для дальнейших ответов.

Inque

New Member
Регистрация
26.03.2007
Сообщения
5
Всем здраствуйте! Я новичок на Вашем форуме, но, думаю, здесь надолго))
Я модифицирую форум одного дяди, который писал его от руки. Форум предназначен для смартфонов, там все устроено так, чтобы и трафик экономился, и страница правильно отображалась на дисплее смарта. Столкнулся я с такой вот проблемой: я баню по нику, и записываю значение "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>С уважением, администрация.";
}
Так вот! (что-то я долго говорю), возникла необходимость создание "модулей" - скриптов для работы с содержимым топика (добавка/удаление поста), для работы с содержимым форума, для работы с пользователями (admin.php), а не реализовывать все на протяжении одного скрипта index.php - как это и было. Поэтому я спрашиваю, есть ли возможность передать $is_ban в другой скрипт, и как это сделать? Или легче не заморачиваться и в каждом скрипте залазить в тэйбл проверять "baned"? Что рациональней? Кто такие глобальные переменные в PHP?
З.Ы. Заранее спасибо за ответы :)
З.Ы.Ы. Администрации: можно я не буду плодить темы на вашем форуме и все буду спрашивать в этой теме? :happy:
 

Alterbit

Well-Known Member
Регистрация
10.05.2005
Сообщения
78
RTFM



Код:
is_banned($user_name){	// or $user_id
		 if(!isset($_SESSION['user']['banned'])){
			 // достаем значение из БД

			$_SESSION['user']['banned'] = ...;	// true/false
		 }

		return $_SESSION['user']['banned'];
}
 

Inque

New Member
Регистрация
26.03.2007
Сообщения
5
А где этот самый M? :dry: Да и времени все читать нет. Думал кратенько ответите)
 

~FisHBonE~

Well-Known Member
Регистрация
23.05.2005
Сообщения
136
Так ведь и так кратенько ответили :) Прям готовый рабочий вариант предоставили :)
 

Inque

New Member
Регистрация
26.03.2007
Сообщения
5
Так ведь и так кратенько ответили :) Прям готовый рабочий вариант предоставили :)
Блин, я слепой осел, извините))) Ну а если я делаю на кукисах, то тоже завожу кукис с баном? Но ведь тогда юзверь сможет этот кукис удалить - и нет бана...
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
а чего мешает заюзать таблицу под забаненых чуваков с описанием причины и проч.? так красивее и функциональнее.
 
Статус
Закрыто для дальнейших ответов.
Верх Низ