Самоучитель PHP5 Д.Н. Колисниченко (3-е издание)

EXAngel

Новичок
Самоучитель PHP5 Д.Н. Колисниченко (3-е издание)

Здравствуйте!

Вот начал изучать PHP5 по этой книге, и сразу же наткнулся на проблемы. В качестве Апатча, ПХП, MySQL стоит Denwer.

Первый учебный код:

<?
echo "<html><body><h1>";
echo "Hello, $my_name";
echo "</h1></body></html>";
?>

Нужно ввести в браузере " http://localhost/first.php?my_name=Denis "

Но после Hello, ничего не стоит. Я хоть в программировании ноль, но тут понятно что переменная не передается или не отображается.

Я честно прочитал http://phpfaq.ru/globals, но со старта мне трудно применить эту информацию. Не понимаю как автор подразумевал работу начинающего с его книгой если в php версии 5 отключено автосоздание переменных?

Или я что-то не так сделал?
 

Апокалипсис

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

Фанат

oncle terrible
Команда форума
Просто автор писал эту книгу задолго до того, как вышла 5 версия.

А что сложного в применении http://phpfaq.ru/globals?
Там же, вроде, практически идентичный пример приведен?
 

EXAngel

Новичок
>У тебя PHP то стоит?
Да стоит, я поставил denwer, там PHP, Apache, MySQL.

<А что сложного в применении http://phpfaq.ru/globals?
Сложность в полном незнании затронутой темы..

Не могли бы вы растолковать просто, возможно ли получить требуемый результат описанным способом "http://localhost/first.php?my_name=Denis" или нет?
Если нет тогда думаю не стоит далее тратить время на эту книгу и следует выбрать другое пособие?
 

kruglov

Новичок
А что тут "не знать"? Вместо $my_name пишем $_GET['my_name'], не увлекаемся записью переменных внутри кавычек ("привет $name"), пользуемся склейкой строк "привет".$_GET['name']. Усё.
 

HraKK

Мудак
Команда форума
kruglov
обоснуйте))
Почему тогда не
echo ('привет',$_GET['name']);
 

Духовность™

Продвинутый новичок
Сложность в полном незнании затронутой темы..
ты же читал
? там же написано:
Если передаем методом GET, обратившись к скрипту по ссылке вида
script.php?var=value
или отправив форму, указав в ней method="GET",
то все переменные содержатся в массиве $_GET.
echo $_GET['var']; напечатает "value".
 

phprus

Moderator
Команда форума
HraKK
К примеру я использую склейку строк, а не запись переменных внутри кавычек в основном из-за того что все редакторы которые я использовал не умели выделять переменные расположенные в строках и по этому простого взгляда на строку было недостаточно, что-бы определить есть ли в строке переменные.

Почему тогда не
echo ('привет',$_GET['name']);
Это более многословный и не универсальный синтаксис. К примеру такой синтаксис нельзя использовать при присваивании.
 
Если ссылка имеет вид, типа "http://localhost/first.php?my_name=Denis", то в скрипте ты должен получить имя Denis, через массив GET. Код:

PHP:
<?
echo "<html><body><h1>";
echo "Hello, ", $_GET['my_name'];
echo "</h1></body></html>";
?>

Книгу эту выкини, я тоже по ней начинал учить PHP - знаю что беспонтовая, а юзай ту что сказали - Котерова.
 

zerkms

TDD infected
Команда форума
Вася Патриков
1. <?php
2. запятая в echo - дешёвые понты...
3. совершенно ненужные здесь двойные кавычки
 

kruglov

Новичок
HraKK
А я не писал про echo ;)

---
Вообще, если человек знакомится не только с PHP, но и с программированием вообще, он может не знать, что такое "массив", а конструкции языка представляются ему китайской грамотой или заклинаниями из "гарипотера" со всеми вытекающими.

EXAngel
Вы на чем-то программировали ранее?
 
zerkms
дешёвые понты - это ваша ревизия, а я минимальными действиями переделал строку кода - обрезал запятой и добавил переменную в конец.

kruglov
про массив не подумал )))
 

Фанат

oncle terrible
Команда форума
zerkms, действительно ,придирки ну очень уж мелкие.
 

zerkms

TDD infected
Команда форума
*****
1я - причина частых недоумеваний со стороны новичков, когда "пхп не работает, а выплёвывает код в браузер"
3я - просто хороший тон не использовать то, что не нужно в данной ситуации
 

Фанат

oncle terrible
Команда форума
Я не говорю, что ты неправ.
Я говорю, что придирки это очень мелкие. Микроскопические.
Не стоит оно того. особенно - про кавычки.
Особенно - не автору вопроса, а комментатору.

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