-
Знакомство с PHP
Есть куча мелких вопросов, они наверное покажутся слишком тупыми для знающих, но я что-то сообразить не могу.
Все примеры кода из книги-самоучителя.
Итак поехали.
[PHP]<?
echo "<html><body><h1>";
echo "Hello, $name";
echo "</h1></body></html>";
?>[/PHP]
Скрипт получает из адресной строки браузера значение параметра name и подставляет его в строку приветствия.
В Опере ввожу в строку адреса:
[url]http://localhost/test/hello.php?name=Alex[/url]
В итоге имею просто:
[B]Hello, [/B]
Путём копаний в инете я модицировал код(отмечено жирным) и получил следующее
[PHP]<?[B]php[/B]
echo "<html><body><h1>";
echo "Hello, [B]$_GET[name][/B]";
echo "</h1></body></html>";
?>[/PHP]
Теперь всё работает нормально, но вопрос всё-таки почему не работает первый вариант, предложенный в книге?
Дальше. Есть переменная $REMOTE_ADDR, которая, как я понимаю является глобальной. Опять же, просто сравнить её значение не получается, предложенным в книге способом
[PHP]if ($REMOTE_ADDR=="127.0.0.1")[/PHP],
опять же путём поисков, вышел на фукнцию [PHP]getenv()[/PHP] и вышло следующее:
[PHP]if (getenv($REMOTE_ADDR)=="127.0.0.1")[/PHP]
Так работает. Опять вопрос, почему книжный вариант не работает?
И общий вопрос: можеть есть какое-то хорошее учебное пособие, которое написано в хорошем стиле, и чтобы не пришлось потом переучиваться. Спасибо за ответы!
-
Книжка старовата.
Неиспользование массивов $_GET, $_POST, $_REQUEST, etc давно считается дурным тоном по соображениям безопасности скриптов.
ИМХО, стоит взять руководство по PHP ([url]http://www.php.net[/url]). Там актуальные примеры и все вопросы которые были подняты в предыдущем сообщении освещены.
-
[QUOTE]Так работает. Опять вопрос, почему книжный вариант не работает?[/QUOTE] - почитайте в инете про настройки PHP в файле php.ini, в часности те, что касаются использования глобальных переменных. Можете добиться, чтобы книжный код работал
-
Плохой самоучитель. Приобретите или скачайте книги 2006-2008 года ориентированные на PHP5, и не берите самоучители, они, как правило низкого качество. Смотрите обычные книги с названиями "профессиональное программирование на PHP5","PHP5 для начинающих" и т.п. Если только самоучитель хотите, то смотрите в сторону зарубежных авторов. Если желаете, проконсультируйтесь с кем-то из нас по поводу книги. Указать что-то конкретное я не могу, так как уже давно не слежу за книгами по PHP5 для начинающих. Как показывает опыт лучше купить бумажный вариант для начала и читать. В тидах есть обширный выбор книг по PHP5. PHP4 учить не рекомендую, он уже устарел.
-
Спасибо большое за ответы. В php.ini я копался, но меня терзали смутные сомнения о том, что надо добиться того, чтобы работал код из книги.
[QUOTE=SL__n;2597675]Книжка старовата.
Неиспользование массивов $_GET, $_POST, $_REQUEST, etc давно считается дурным тоном по соображениям безопасности скриптов.
ИМХО, стоит взять руководство по PHP ([url]http://www.php.net[/url]). Там актуальные примеры и все вопросы которые были подняты в предыдущем сообщении освещены.[/QUOTE]
Спасибо! Приму к сведению, я в принципе так и думал, что в книге более простой вариант и как следствие менее "красивый и безопастный".
[QUOTE=rhangel;2598000]Плохой самоучитель. Приобретите или скачайте книги 2006-2008 года ориентированные на PHP5, и не берите самоучители, они, как правило низкого качество. Смотрите обычные книги с названиями "профессиональное программирование на PHP5","PHP5 для начинающих" и т.п. Если только самоучитель хотите, то смотрите в сторону зарубежных авторов. Если желаете, проконсультируйтесь с кем-то из нас по поводу книги. Указать что-то конкретное я не могу, так как уже давно не слежу за книгами по PHP5 для начинающих. Как показывает опыт лучше купить бумажный вариант для начала и читать. В тидах есть обширный выбор книг по PHP5. PHP4 учить не рекомендую, он уже устарел.[/QUOTE]
Спасибо за ответ! Я с удовольствием выслушаю Ваши мнения о том, как лучше освоить PHP, на какие книги или ресурсы интернета стоит обратить внимание. Меня конечно больше привлекает бумажный вариант.
-
По поводу литературы.
В инете многие говорят, что очень хорошая книга "PHP5. В подлиннике" Котерова. Сейчас скачал, посмотрю, что в ней.
Выслушаю любые предложения по литературе. Спасибо!
-
Посмотри книгу: Ларри Ульман - Основы программирования на PHP.
-
[QUOTE=Senser;2600266]Посмотри книгу: Ларри Ульман - Основы программирования на PHP.[/QUOTE]
Ок. Спасибо. Глянем!
-
А ещё самое главное :((( - почему в PHP могут [B]не работать[/B] escape-последовательности?????
\n, \t
p.s. А в Одессе есть фирмы, которые выращивают для себя ПХП-программеров?
-
[QUOTE=Doglexx;2600745]А ещё самое главное :((( - почему в PHP могут [B]не работать[/B] escape-последовательности?????
\n, \t
[/QUOTE]
А какие кавычки используем в строках? :)
Чтобы использовать escape-последовательности надо строки брать в двойные.
Только для веба они бесполезны....
-
[QUOTE=SL__n;2601055]А какие кавычки используем в строках? :)
Чтобы использовать escape-последовательности надо строки брать в двойные.
Только для веба они бесполезны....[/QUOTE]
Двойные.
А чего бесполезны? Я понимаю, что можно просто использовать хтмл-ный тэг <br>, но всё же...
-
[QUOTE=Doglexx;2601291]Двойные.
А чего бесполезны? Я понимаю, что можно просто использовать хтмл-ный тэг <br>, но всё же...[/QUOTE]
Не мона, а нуна (для веба) :)
Переводы кареток, табуляции и иже с ними являются командами для консоли, HTML - язык разметки, который "понимает" только тэги.
-
Да, SL__n почти прав на счет кареток и табуляй. :) Почему почти... Бывают случаи, когда код страницы все таки приходится генерировать из PHP, как бы при этом не рушились все основы разделения логики и представления, бывает, что местами так будет просто производительней. И вот в таких местах, для форматирования итогового кода страницы, кода xml и т.п. можно использовать переводы каретки и табуляции, чтобы потом было удобнее смотреть свой же сгенерированный код.
Doglexx, html это уже прошлый век, начинайте учиться правильно и привыкайте к xhtml. Посему все не парные теги закрывайте: <br/> ;)
-
В любом случае буду сначала вспоминать HTML, а потом уже переходить на XHTML.
Эх пойти бы кому-то в ученики.
-
[QUOTE=rhangel;2606140]Да, SL__n почти прав на счет кареток и табуляй. :) Почему почти... Бывают случаи, когда код страницы все таки приходится генерировать из PHP, как бы при этом не рушились все основы разделения логики и представления, бывает, что местами так будет просто производительней. И вот в таких местах, для форматирования итогового кода страницы, кода xml и т.п. можно использовать переводы каретки и табуляции, чтобы потом было удобнее смотреть свой же сгенерированный код.
Doglexx, html это уже прошлый век, начинайте учиться правильно и привыкайте к xhtml. Посему все не парные теги закрывайте: <br/> ;)[/QUOTE]
Не надо смешивать несмешиваемое... Потом когда начинаешь задавать вопросы при беседах такого можно услышать... :(. Любой протокол имеет соответствующий формат и необходимо понимать в какой момент времени с чем работаешь.
Escape-последовательности отрабатывают в просмотровщиках по причине того, что элемент отображения данных, в функциональном плане, предназначен для отображения текстовой информации.
-
[QUOTE=Doglexx;2610287]В любом случае буду сначала вспоминать HTML, а потом уже переходить на XHTML.
Эх пойти бы кому-то в ученики.[/QUOTE]
В данном случае все равно с чего начинать :)
Но лучше все-таки XHTML.
-
[QUOTE=SL__n;2610677]В данном случае все равно с чего начинать :)
Но лучше все-таки XHTML.[/QUOTE]
Чем лучше?
-
Вообще, XHTML это HTML записанный по правилам XML. W3C позицианирует данный язык как развитие HMTL.
Как пишут на сайте bydem.at.ua
[QUOTE]
В противоположность XML, HTML гораздо более строго определенный язык разметки с ограниченным набором тегов. В любом случае, общий характер XML позволяет рассматривать HTML-документы как XML-документы с набором тегов для отображения в веб-браузерах.
Однако, старые стандарты HTML не до конца совместимы с XML. Например, в HTML необязательно закрывать тег <P>, то есть тег </P> можно опускать. Веб-браузеру на это плевать, так как он запрограммирован, но XML-парсер выдаст ошибку о том, что ваш HTML-документ не является "правильно сформированным" (well-formed).
Чтобы устранить разрыв между этими двумя языками разметки и был разработан XHTML. По существу это обычный HTML, в который добавили синтаксические правила XML для создания well-formed документов. Так что веб-страницы станут XML-совместимыми, а веб-разработчики познакомятся с синтаксисом XML.[/QUOTE]
-
[QUOTE=SL__n;2610671]
Escape-последовательности отрабатывают в просмотровщиках по причине того, что элемент отображения данных, в функциональном плане, предназначен для отображения текстовой информации.[/QUOTE]
Вы же написали "являются командами для консоли". Потому я и привел пример, что не только для консоли то можно использовать. Сами же ж пишете бред, а потом рассказываете сказки про функциональные планы. Да и HTTP/HTTPS протоколы не запрещают использовать escape-последовательности, и то, что браузеры их обрабатывают это же замечательно. Представьте как бы смотрелся код страниц записанный в одну строчку. :)
-
[QUOTE=Senser;2610876]Чем лучше?[/QUOTE]
Лучше тем, что освоив XHTML вы легко сможете создавать приложения и для XHTML-MP. Хотя бы поэтому стоит забыть про древний HTML. Да и учит XHTML более строгому подходу к кодингу страниц и не дает писать размазню. :)