[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не отображаются данные $QUERY_STRING
CaypoH
вбиваю в адресную строку браузера localhost/index.php?name=Vasya&age=10
после чего вывод echo "$name $age" выдаёт пустую страницу. вывод echo $QUERY_STRING так же ничего не показывает.
ОС windows 7, стоит последний денвер со стандартным набором MySQL, PHP5, Perl.
в чём может быть дело, подскажите пожалуйста.



Спустя 3 часа, 34 минуты, 28 секунд (29.10.2009 - 10:34) Michael написал(а):
PHP
echo $_GET['name'] . '<br>' $_GET['age'];


Спустя 37 минут, 33 секунды (29.10.2009 - 11:12) CaypoH написал(а):
так работает. однако почему не работает простое выставление переменных? я помню раньше (давным давно) делал именно так, просто с переменными. и работало.

Спустя 2 минуты, 18 секунд (29.10.2009 - 11:14) Gram написал(а):
Глобальные переменные нынче не моде.

Спустя 17 минут, 14 секунд (29.10.2009 - 11:31) CaypoH написал(а):
Цитата
интерпретатор все данные из полей формы преобразует в глобальные од-
ноименные переменные. В нашем случае значение поля name после начала работы
программы будет храниться в переменной $name, а значение поля age — в перемен-
ной $age. То есть, не надо ничего ниоткуда "получать" — все уже установлено и рас-
паковано из URL-кодировки.

это из самоучители по php Котерова. что стряслось с тех пор, и почему удобное сменилось неудобным? О_о

Спустя 10 минут, 3 секунды (29.10.2009 - 11:41) SunSet написал(а):
PHP
$_SERVER['QUERY_STRING']

Спустя 13 минут, 34 секунды (29.10.2009 - 11:55) Michael написал(а):
Цитата (CaypoH @ 29.10.2009 - 08:31)
это из самоучители по php Котерова. что стряслось с тех пор, и почему удобное сменилось неудобным? О_о

скорее "глючное" сменилось "не глючным"

За это отвечает параметр register_globals в php.ini
Поставь в On и станет все "по старому"
Но, вроде такое в следующих версиях будет вообще отменено.

Да и не надо так делать, а лучше почитать наших экспертов:
http://phpforum.ru/index.php?showtopic=21213&st=0

Спустя 11 минут, 45 секунд (29.10.2009 - 12:07) glock18 написал(а):
Цитата
это из самоучители по php Котерова. что стряслось с тех пор, и почему удобное сменилось неудобным?


выбрось книгу, в которой ничего при этом не сказано про register_globals.

Спустя 1 час, 41 минута, 24 секунды (29.10.2009 - 13:48) CaypoH написал(а):
посоветуйте тогда пожалуйста хорошие учебники, написанные грамотными людьми.
п.с. респект тем кто нормально отвечает объясняя суть проблемы, и дисреспект позёрам, гнущим пальцы wink.gif

Спустя 26 минут, 7 секунд (29.10.2009 - 14:14) glock18 написал(а):
Зеев Сураски, Леон Аткинсон. PHP 5. Библитека профессионала. Перевод немного хромает, но нюансов много.

Хотя вероятно, "дисреспект" предназначался мне.

Спустя 10 минут, 8 секунд (29.10.2009 - 14:24) CaypoH написал(а):
Цитата
Зеев Сураски, Леон Аткинсон. PHP 5. Библитека профессионала. Перевод немного хромает, но нюансов много.

спасибо
Цитата
Хотя вероятно, "дисреспект" предназначался мне.

нет, есть там выше один товарищЪ

Спустя 50 минут, 38 секунд (29.10.2009 - 15:15) SunSet написал(а):
glock18
twin рекомендовал лично мне Котерова, как пособие для грамотного изучения пхп, после того как Ульман оказался "неправильным" автором, и Фленов тоже "неуч". Так что говорить что это недоавтор (Котеров) уже неуместно.
Там часто приводятся примеры для register_globals on, но вначале идут оговорки на то что эта директива может быть отключена. Так что это не автор книги чепуху пишет, а автор топа не понимает что и как должно работать.

Спустя 1 час, 1 минута, 25 секунд (29.10.2009 - 16:16) glock18 написал(а):
Цитата
twin рекомендовал лично мне Котерова


я не говорил ни про кого конкретно. я сказал про автора предоставленной цитаты. Если это Котеров, то он не катит, сорри.

Зеев Сураски автор движка Zend Engine и один из трех разработчиков, которые занимаются пхп начиная со второй версии. В книге есть достаточно тонкие моменты, которые описаны именно с его слов.

Чем занимался/занимается Котеров, я не знаю. Вполне допускаю, что он хороший автор, но только если цитата не из его книги. Вообще лучше всего читать книги кого-нибудь из CoreTeam PHP, и желательно в оригинале. Мое ИМХО.

Спустя 44 минуты, 3 секунды (29.10.2009 - 17:01) SunSet написал(а):
glock18
Ну так, а что собственно было неправильным в той цитате? При ГЕТ передаче, например, и при включенном рег. глобалс эта цитата все правильно и говорит - после отправки сабмитом нам будут автоматически доступны указанные переменные. Или есть сомнения в правдивости сказанных автором книги словах?
Другое дело, что ТС сравнивает палец с кое-чем другим, причем тут какаято выдуманная QUERY_STRING и значения переменных.
Если уж на то пошло и нужно из $_SERVER['QUERY_STRING'] вытянуть пришедшие значения - то ее нужно разделять по ИмяПеременной=значение и так получать нужное.

Спустя 37 минут, 16 секунд (29.10.2009 - 17:38) CaypoH написал(а):
учебник Котерова. Самоучитель программирования на php. про возможность включения/выключения глобалс, а так же смысла и последствий нет ни слова. вплоть до 140-й страницы читал не пропуская (за исключением первых страниц 25-ти оглавления).
вопрос у меня, по-моему, в первом посте задан вполне конкретно. и вполне конкретный ответ на него я уже получил, за что его авторам хочу сказать спасибо.
п.с. а пальцегнутых то в топике прибавилось wink.gif

Спустя 7 минут, 15 секунд (29.10.2009 - 17:45) CaypoH написал(а):
Цитата
причем тут какаято выдуманная QUERY_STRING и значения переменных.

цитата из учебника Котерова:
Цитата
Так как PHP изначально создавался именно как язык для Web-программирования, то
он дополнительно проводит некоторую работу с переменной $QUERY_STRING перед
тем, как управление будет передано сценарию.
А именно, он разбивает ее по пробельным символам и помещает
полученные кусочки в массив-список $argv, который впоследствии может быть про-
анализирован в программе.

и ещё одна:
Цитата
Следует заметить очень важную деталь: то, что был использован метод POST,
вовсе не означает, что не был применен также и метод GET. Иными словами,
метод POST подразумевает также возможность передачи данных через URL-
строку. Эти данные будут, как обычно, помещены в переменную окружения
QUERY_STRING.


так что вы с ним друг другу противоречите. выходит что кто-то из вас прав и умный, а кто-то не прав и позер. сами разберётесь, кто есть кто?

Спустя 49 минут, 16 секунд (29.10.2009 - 18:34) SunSet написал(а):
CaypoH
И в твоем мегасамоучителе вот так выводится эта переменная?
PHP
echo $QUERY_STRING;  ???


Лично в моем учебнике, Котеров это делает через нужную функцию
PHP
echo getenv('QUERY_STRING');
, и все работает (лично проверил).
Или же так:
PHP
echo $_SERVER['QUERY_STRING'];

Не понимаю, для чего ты тут лепишь горбатого к стене - переменная окружения 'QUERY_STRING' содержит все имена и все значения переменных, переданых ей через ГЕТ или ПОСТ метод. Она никак не связана с тем, когда ты хочешь вывести одну из них путем простого echo. Для тго чтобы вывести одно из ее значений ее нужно "порезать" на нужные куски.
А если ты хочешь, чтоб нажимая на ссылку index.php?id=10 в другом файле путем echo $id; выводилось значение "10", то нужен режим register_globals или обьявлять эту самую переменную id путем вытягивания ее из GET массива.
И если ты так любишь бросаться сюда непонятно чем, то и в ответ держи на то что ты там "нарыл" у себя в учебнике:

user posted image

user posted imageЦитаты из книги:
https://www.labirint-shop.ru/books/38208/
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.