Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: метод GET
 
 автор: kubatura   (16.07.2010 в 12:49)   письмо автору
 
 

отправляю запрос:
http://localhost/test.php?HDD=12&CDROM=34
в файле php такой текст:
<?
echo("<p>HDD is $HDD</p>");
echo("<p>CDROM is $CDROM</p>");
?>
а в браузере отображается только:

HDD is

CDROM is

почему так???

  Ответить  
 
 автор: Trianon   (16.07.2010 в 12:50)   письмо автору
 
   для: kubatura   (16.07.2010 в 12:49)
 

потому что Вы не написали $HDD = ...; $CDROM = ... ;
и кстати, не написали error_reporting(E_ALL);

  Ответить  
 
 автор: kubatura   (16.07.2010 в 12:51)   письмо автору
 
   для: Trianon   (16.07.2010 в 12:50)
 

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

  Ответить  
 
 автор: Trianon   (16.07.2010 в 12:52)   письмо автору
 
   для: kubatura   (16.07.2010 в 12:51)
 

Значит выбрали не самый лучший учебник.

и кстати, не написали error_reporting(E_ALL);
так чтобы сам php мог подсказать Вам, что с кодом проблемы.

>а как надо написать

так чтобы переменные оказались определены.

  Ответить  
 
 автор: kubatura   (16.07.2010 в 12:53)   письмо автору
 
   для: Trianon   (16.07.2010 в 12:52)
 

ну уж извините, на этом сайте расположен учебник... думал там нормально написано

  Ответить  
 
 автор: Trianon   (16.07.2010 в 12:54)   письмо автору
 
   для: kubatura   (16.07.2010 в 12:53)
 

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

  Ответить  
 
 автор: bishake   (16.07.2010 в 13:00)   письмо автору
 
   для: Trianon   (16.07.2010 в 12:52)
 

Trianon, зачем умничать там, где не надо?

  Ответить  
 
 автор: neadekvat   (16.07.2010 в 13:04)   письмо автору
 
   для: bishake   (16.07.2010 в 13:00)
 

Вы уверены, что тут "не надо"? Тут как раз-таки надо, ибо допущены две грубейшие ошибки:
1. Не выставлен должный уровень ошибок для разработки
2. Переменные взялись из воздуха, а автор скрипта даже не понимает, почему они не отображаются. Проблема бы не возникла, если бы не п.1

Вы можете сказать, какой смысл в предоставлении решения? Тупо дали списать, и какой толк? А вот выставил бы ТС себе уровень ошибок, увидел бы нотайс, пошел бы в гугл, потихоньку добрался бы до register_globals(), и т.д. А сейчас? Что он понял сейчас? Только то, что надо несколько иначе получать переменные - а почему - да хер его знает, на форуме так сказали.

  Ответить  
 
 автор: bishake   (16.07.2010 в 13:56)   письмо автору
 
   для: neadekvat   (16.07.2010 в 13:04)
 

Лично мне было понятно сразу, что человек забыл обратиться к массиву $_GET, (это вполне очевидно исходя хотя бы из названия темы) и считаю, что в данном случае дополнительные замечания по коду излишни, ведь судя по вопросу автору ещё далеко до register_globals() и уровню ошибок. Вот Вы в своём первом PHP-коде выставляли error_reporting?

  Ответить  
 
 автор: neadekvat   (16.07.2010 в 14:32)   письмо автору
 
   для: bishake   (16.07.2010 в 13:56)
 

Нет. И не знал про register_globals(). Пока не столкнулся с проблемой автора. А потом мне сказали, что надо делать именно так, а уж до того, какие суперглобальные массивы использовать я дошел сам.
Или вы считаете, что нормально откладывать информацию про register_globals() "на потом", если совсем скоро их вообще выкинут из настроек?

  Ответить  
 
 автор: bishake   (16.07.2010 в 14:45)   письмо автору
 
   для: neadekvat   (16.07.2010 в 14:32)
 

Я конечно ничего не имею против, но вот только Google при поиске фразы "register globals" первой ссылкой выдаёт рассказ об этом самом

  Ответить  
 
 автор: neadekvat   (16.07.2010 в 14:52)   письмо автору
 
   для: bishake   (16.07.2010 в 14:45)
 

Странно вы ищите.
А мне вот выдает информацию по защите скриптов:
php register_globals
И вообще непонятно, зачем вы привязали сейчас гугл? Ответьте, вы считаете, что нормально оставлять новичка в неведении по поводу register_globals, когда он явно не знает об этой настройке?

  Ответить  
 
 автор: Trianon   (16.07.2010 в 14:53)   письмо автору
 
   для: neadekvat   (16.07.2010 в 14:52)
 

вообще-то это нормально.
Не знать о нем и не включать никогда.

  Ответить  
 
 автор: neadekvat   (16.07.2010 в 14:58)   письмо автору
 
   для: Trianon   (16.07.2010 в 14:53)
 

Насчет "не включать" - согласен.
На счет "не знать" - не согласен. Чтобы не смотреть на нотайсы (а то и на пустой монитор), когда переменные выроде бы как бы и переданы скрипту, как баран на новые ворота, о register_globals знать надо. Хотя бы для того, чтобы их выключать :)

  Ответить  
 
 автор: Trianon   (16.07.2010 в 14:51)   письмо автору
 
   для: bishake   (16.07.2010 в 13:56)
 

>ведь судя по вопросу автору ещё далеко до register_globals() и уровню ошибок.

Объясните, пожалуйста, как это.
Про register_globals я слова не сказал.
До чего далеко автору?
И как автору может быть далеко до уровня ошибок?
Вы всерьез считаете, что новичу можно пытаться программировать вслепую?

  Ответить  
 
 автор: Trianon   (16.07.2010 в 14:56)   письмо автору
 
   для: bishake   (16.07.2010 в 13:56)
 

>Лично мне было понятно сразу, что человек забыл обратиться к массиву $_GET,

Это Вам сразу понятно.
А новичку - нет.
Хотя должно быть.
Ему должно быть может и не сразу, но тем или иным образом видно, почему что-то идет не так, как он полагает. Без этого нормальный позитивный процесс просто напросто невозможен.
Вот я ему и сообщил, на что он не глянул (присваивание переменным) и что не сделал (контроль ошибок), чтобы самому видеть, что творится.

  Ответить  
 
 автор: bishake   (16.07.2010 в 15:04)   письмо автору
 
   для: Trianon   (16.07.2010 в 14:56)
 

Соглашусь с Вами, спорить не буду. Я извиняюсь за грубость, просто имел в виду, что, по-моему мнению, Вам надо было сразу добавить поведовать верное решение, а не заставлять человека бежать впереди поезда.

А register_globals() здесь вообще ни при чём.

  Ответить  
 
 автор: Trianon   (16.07.2010 в 15:05)   письмо автору
 
   для: bishake   (16.07.2010 в 15:04)
 

Вот уж в Ваших постах грубости я не заметил ни на йоту :)
Но так скажу, верное решение по мне - плохое подспорье.
Куда лучше - путь, который из никакого решения выводит на это самое - верное....

  Ответить  
 
 автор: DJ Paltus   (16.07.2010 в 14:33)   письмо автору
 
   для: neadekvat   (16.07.2010 в 13:04)
 

Я аж прослезился! Автор задал практически тот вопрос, с которым я когда-то явился на этот форум. Правда, тогда не было принято отвечать обиняками и наскакивать на новичков, и Игорь Вячеславович мне быстро рассказал про register_globals, позже объяснив заодно и смысл явления.

  Ответить  
 
 автор: neadekvat   (16.07.2010 в 14:39)   письмо автору
 
   для: DJ Paltus   (16.07.2010 в 14:33)
 

Я вот только не понял - это вы в подтверждение моих слов или в опровержение? :)

К тому же, кто и где на новичков то наскакивает?

  Ответить  
 
 автор: Trianon   (16.07.2010 в 14:51)   письмо автору
 
   для: DJ Paltus   (16.07.2010 в 14:33)
 

Сомневаюсь, что он сделал это до конца.
Иначе бы Вы были на другой стороне этого globals'срача полемического диспута.

  Ответить  
 
 автор: DJ Paltus   (16.07.2010 в 15:01)   письмо автору
 
   для: Trianon   (16.07.2010 в 14:51)
 

Я не участвую в полемике. Я лишь удивляюсь дидактическим приемам, пришедшим на замену простому объяснению причин и следствий.

  Ответить  
 
 автор: Valick   (16.07.2010 в 15:21)   письмо автору
 
   для: DJ Paltus   (16.07.2010 в 15:01)
 

большинство моих вопросов на этом форуме остались вообще без ответов, Вы считаете это лучше?
А пержде чем кидать камнем в кого-то, подумайте где были Вы со своим простым обьяснением причин и следствий?
Если бы Вы ответили автору вовремя, то глядишь и небыло бы этого полемического диспута.

  Ответить  
 
 автор: DJ Paltus   (16.07.2010 в 15:33)   письмо автору
 
   для: Valick   (16.07.2010 в 15:21)
 

У меня веская отмазка! Я сам в этот момент ламерствовал и получал консультации в соседнем разделе! )) А обычно я отвечаю, если вопрос в моей компетенции (а таких мало).

  Ответить  
 
 автор: bishake   (16.07.2010 в 12:55)   письмо автору
 
   для: kubatura   (16.07.2010 в 12:51)
 


<?php
echo("<p>HDD is ".$_GET['HDD']."</p>");
echo(
"<p>CDROM is ".$_GET['CDROM']."</p>");
?>

  Ответить  
 
 автор: kubatura   (16.07.2010 в 12:57)   письмо автору
 
   для: bishake   (16.07.2010 в 12:55)
 

спасибо! всё заработало...

  Ответить  
 
 автор: Diplex   (16.07.2010 в 15:10)   письмо автору
 
   для: kubatura   (16.07.2010 в 12:57)
 

Если мне не изменяет память, то раньше GET параметры автоматически подставлялись в одноименные переменные, а сейчас это запретили из-за политики безопасности, от того в учебнике такой код и приведен...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования