Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
а разве $test где то объявлена?
Данил_123
Отправлено: 17 Декабря, 2011 - 17:39:11
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
dmitry нус.. Весь код в студию, это в функции или в классе.. если нет, то зачем данный префикс
----- http://mysitecost.ru
dmitry
Отправлено: 17 Декабря, 2011 - 17:39:25
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Данил_123 пишет:
dmitry может весь код, так как ели это не в теле функции или класса, то global не обязателен
Я бы с удовольствием выложил весь код, там 20 строк, НО у меня эти 20 строк уже всю плешь проели.
То функция не срабатывает, то глобальная переменная пустая ...
Может у меня какой то косяк на серваке в пхп?
Такое может быть?
Вся предыстория ... У меня есть сайт(ы) на вордпресе ... их ломают "как из пулемета", я (вычитал на каком то форуме о плагине по безопасности) сделал расширенный плагин по безопасности ... 20 строк кода.
Сначала он работал отлично, сейчас чего то перестал работать ... я уже сервак перезагрузил, httpd тоже перезапускал, не работает "негодник", не знаю что и думать ... уже выбился из сил ...
Конкретно по плагину, наверное можно будет новую тему создать, если людям будет интересно.
А вот по глобальной переменной другой вопрос. Эта переменная содержит одно значение для всех посетителей или для каждого посетителя свое значение может быть?
Данил_123
Отправлено: 17 Декабря, 2011 - 17:42:53
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
dmitry вы думаете,то что вы там написали мы не знаем.. Я угадал это в теле функции, тогда global тут не помощник, гоу код.. - return знаете? - а мы напишем..
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Данил_123 пишет:
dmitry вы думаете,то что вы там написали мы не знаем.. Я угадал это в теле функции, тогда global тут не помощник, гоу код.. - return знаете? - а мы напишем..
тока сразу предупреждаю, не смейтесь над моей писаниной, я всю жизь на Сях писал, для меня этот пхп как мозаляка ...
Хотел привинтить сюда не чтение из файла, а хранение данных в глобальной переменной.
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Я понял вашу мысль, спасибо. т.е. мы должны где то инициализировать переменную, а потом этот файл всегда подключать ...
Другой вопрос. Содержание переменной
echo $test_global ;
для разных пользователей будет одно и тоже?
Пример:
Я получаю данные из формы и кладу их в глобальную переменную ...
Другой пользователь заходит на сайт и он увидит значение глобальной переменной?
В общем вопрос такой, какие есть варианты?
Мне нужно два типа глобальных переменных использовать:
1. Глобальная переменная должна содержать одинаковое значение для всех посетителей.
2. Для каждого пользователя переменная должна держать свое значение.
Как правильно реализовать оба варианта?
caballero
Отправлено: 17 Декабря, 2011 - 18:40:21
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
глобальные переменные имеют в PHP совсем другой смысл чем в С. Другой пользователь никаким каком перменные первого не увидит - их процессы не пересекаются - даже сессионное хранилище у каждого свое. Вам надоь хранить разделяемые данные в БД или файле или типа того
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Переменные которые были отправлены на сервер и так уже хранятся в суперглобальных переменных. Почитайте что-нибудь про $_GET, $_POST.
Так-же есть ещё куча суперглобальных перменных. $_SESSION, $_SERVER, $_COOKIE итд.
Про сам вопрос ничего не могу сказать, т.к не понял его вообще.
Но попытаюсь объяснить :
// Пользователь заходит на сайт и сервер выдает ему результат компиляции этого скрипта :
// Но я так понял пользователей у вас может быть несколько и для каждого разные сценарии.
// Так вот :
// Проверяет была-ли нажата кнопка формы. Если да, устанавливаем сессию.
if(isset($_POST['submit'])) {
$_SESSION['name'] = 'Username';
}
// Проверяем если ли сессия.
// Сессии как правило хранятся на сервере и для каждого пользователя они уникальны.
if(isset($_SESSION['name'])){
echo 'Поздравляем ! Вы авторизованы!';
}else{
?>
<form action='index.php' method='post'>
<input type='submit' name='submit' />
</form>
<?
}
// Но после всех проверок у нас есть ещё переменная которая не зависит не от каких обстоятельств
$test=123;
// И какой бы пользователь не зашел на сайт она будет для всех одинакова -)
echo$test;
dmitry
Отправлено: 17 Декабря, 2011 - 19:26:34
Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Прошу Вас меня не ругать, за то что переспрашиваю.
В данном конкретном случае у каждого пользователя будет свое значение переменной?
caballero пишет:
include('qwe.php');
global $test_global ;
echo $test_global ;
Я спрашиваю относительно моего кода.
В примере ниже, я храню список злоумышленников в текстовом файле. Проверяю текстовый файл, если есть ип адрес злоумышленника, то не пускаю его на сайт. НО я подумал, зачем мне хранить это дело в файле, когда я могу хранить это в глобальной переменной. Таким образом, я хотел сократить нагрузку на жесткий диск ... Наверное глупо, но если будет посещаемость 10 000 посетителей в сутки то нагрузка будет серьезная ... Так оставить или все же переделывать на глобальную переменную?
По этому наверное работает все это через раз ...
Можно глянуть на наглядном примере: http://elvish[dot]biz?test.php
мы увидим белый экран. Должно сохраниться в файл ип адрес и
Нас не должно вообще пускать на сайт ... НО нас будет пускать т.к. плагин кеша обрабатывается...
Если посетить страницу, которая не кешируется, тогда мы снова видим молоко.
Пример: http://elvish[dot]biz/wp-admin (будет молоко).
Где то в вордпресе можно установить приоритет выполнения плагинов? Вроде где то встречал, но не сохранил и сейчас найти не могу.
Раньше плагин работал исправно, сейчас все перемешалось и работать отказывается.
sKaa
Отправлено: 17 Декабря, 2011 - 20:48:09
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Хранения бан листа обычно реализуется с помощью базы данных ну или настройками сервера раз уж на то пошло... Если вы не имеете достаточно навыков чтобы хранить бан лист в текстовом файле, а затем вовремя читать его. Хранить бан лист в файле пхп в виде массива данных.
А то что вы там понаписали я даже читать не очень хочу. Слишком ужасен пока у вас код ) Но думаю если вы писали на С то и к пыху привыкнете, просто время надо. (Добавление)
Ну а вообще я ещё раз повторю это дело как минимум базы данных.
Самое простое это таблица в две колонки :
ip | reason
и пара строчек на пхп
Как видно вообще 2 строчки. Ну правда я тут не показал код подключения к базе данных и прочее потому что убежден, что это совсем другая тема, а имеено паттерны-сингтон. И описан такой код должен быть классом но думаю вам пока раны принципы ООП в пхп изучать )
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.