после чего вывод 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 написал(а):
посоветуйте тогда пожалуйста хорошие учебники, написанные грамотными людьми.
п.с. респект тем кто нормально отвечает объясняя суть проблемы, и дисреспект позёрам, гнущим пальцы
п.с. респект тем кто нормально отвечает объясняя суть проблемы, и дисреспект позёрам, гнущим пальцы
Спустя 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, но вначале идут оговорки на то что эта директива может быть отключена. Так что это не автор книги чепуху пишет, а автор топа не понимает что и как должно работать.
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'] вытянуть пришедшие значения - то ее нужно разделять по ИмяПеременной=значение и так получать нужное.
Ну так, а что собственно было неправильным в той цитате? При ГЕТ передаче, например, и при включенном рег. глобалс эта цитата все правильно и говорит - после отправки сабмитом нам будут автоматически доступны указанные переменные. Или есть сомнения в правдивости сказанных автором книги словах?
Другое дело, что ТС сравнивает палец с кое-чем другим, причем тут какаято выдуманная QUERY_STRING и значения переменных.
Если уж на то пошло и нужно из $_SERVER['QUERY_STRING'] вытянуть пришедшие значения - то ее нужно разделять по ИмяПеременной=значение и так получать нужное.
Спустя 37 минут, 16 секунд (29.10.2009 - 17:38) CaypoH написал(а):
учебник Котерова. Самоучитель программирования на php. про возможность включения/выключения глобалс, а так же смысла и последствий нет ни слова. вплоть до 140-й страницы читал не пропуская (за исключением первых страниц 25-ти оглавления).
вопрос у меня, по-моему, в первом посте задан вполне конкретно. и вполне конкретный ответ на него я уже получил, за что его авторам хочу сказать спасибо.
п.с. а пальцегнутых то в топике прибавилось
вопрос у меня, по-моему, в первом посте задан вполне конкретно. и вполне конкретный ответ на него я уже получил, за что его авторам хочу сказать спасибо.
п.с. а пальцегнутых то в топике прибавилось
Спустя 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 массива.
И если ты так любишь бросаться сюда непонятно чем, то и в ответ держи на то что ты там "нарыл" у себя в учебнике:
Цитаты из книги:
https://www.labirint-shop.ru/books/38208/