Вопрос № 91614: Здравствуйте, ув. эксперты!
Пишу сайт. На дом. компе на Денвере все работает нормально. Загрузил на сервер, не читаются переменные из запросов. Например, переменная $page из такого запроса не читается:
www.site.ru/?page=show_page
www.site...
Вопрос № 91.614
Здравствуйте, ув. эксперты!
Пишу сайт. На дом. компе на Денвере все работает нормально. Загрузил на сервер, не читаются переменные из запросов. Например, переменная $page из такого запроса не читается:
www.site.ru/?page=show_page
www.site.ru/index.php?page=show_page
Как можно исправить эту проблему и с чем она связана.
Отправлен: 16.06.2007, 12:28
Вопрос задал: BerdArt (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: PVS
Здравствуйте, BerdArt!
Скорее всего дело в настройке register_globals в php.ini . Вероятно в Денвере она стоит On и скрипт использует это (обращение идёт просто $page), а на сервере - Off и такой скрипт становится нерабочим. Необходимо все обращения к
$page
заменить на
$_REQUEST["page"]
или приписать вначале такой-вот кусочек:
foreach($_REQUEST as $varname => $varval) $$varname=$varval;
но это, как и установка register_globals=On является угрозой безопасности и лучше всё-таки разобратся какие переменные должны инициализироватся из пользовательского запроса, а какие нет.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 16.06.2007, 12:39 Оценка за ответ: 4 Комментарий оценки: Спасибо. Не учел такие настройки сервера. А чем отличается $_REQUEST["page"] и $_GET["page"]. >лучше всё-таки разобратся какие переменные должны инициализироватся из пользовательского запроса, а какие нет я проверял все переменные, принятые от пользователя. А возможно както одним скриптом изменить все переменные принимаемые от пользователя
или один выход: $page=$_GET["page"]; и т.д.
Отвечает: Punk_UnDead
Здравствуйте, BerdArt!
подозреваю что у вас в Денвере включена опция автоматического создания переменных из строки параметров(мана под руками нет, названия не помню)
а на сервере из соображений безопасности она отключена(и правильно сделано)
пользуйтесь $_GET["page"]
NB phpinfo() сообщит вам многое, в том числе и имена переменных
PS телепаты в отпуске
--------- всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 5-ый класс)
Ответ отправлен: 16.06.2007, 12:41 Оценка за ответ: 5 Комментарий оценки: Большое спасибо. Не знал, точнее не обратил внимание на возможность таких настроек сервера. Теперь прийдется переделать немного все странички.