Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 692
от 21.06.2007, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 422, Экспертов: 54
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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
Комментарий оценки:
Большое спасибо. Не знал, точнее не обратил внимание на возможность таких настроек сервера. Теперь прийдется переделать немного все странички.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное