Основные достоинства РНР:
-бесплатен; постоянно совершенствуется; работает на UNIX и Windows платформах;
-допускает работу с большинством СУБД;
-имеет широкий набор функций (более 3 тыс.);
-допускает объектно-ориентированное программирование;
-способен использовать протоколы HTTP, FTP, ШАР, SNMP, NNTP, РОРЗ, netsockets и другие;
-позволяет выполнять все операции, что и перечисленные его конкуренты, и даже работать с файлами графики. Можно также запускать РНР-скрипты как интерпретируемые файлы и компилировать исполняемые приложения (в том числе с поддержкой графического интерфейса GTK).
Если вы обнаружите, что РНР не способен на что-то (или работает не так, как вам хотелось бы), никто не будет препятствовать вам вносить в исходный код РНР (написанный на С) желаемые изменения. РНР является программным продуктом с открытым исходным кодом, и внесение в него улучшений и дополнений путем создания собственных модулей расширения всегда приветствуется.
Для начала, чтобы сервер знал, в каком из файлов используются РНР-команды и, следовательно, мог передать такую страничку для дальнейшей обработки, необходимо изменить расширение файла с *.html на *.php3. Поэтому, когда вы видите файлы с таким расширением, можно с почти полной уверенностью утверждать, что при их создании использовался РНР.
Каждая команда РНР обычно начинается с тэга <?php и заканчивается ?>. Если вы используете несколько команд подряд, они могут быть объединены внутри одной пары тэгов - в этом случае каждую команду необходимо отделять друг от друга символом ;. В любом месте РНР-скрипта можно размещать комментарии. Для начала комментария используется символы /*, а для его завершения - */. Если комментарий небольшой, удобней использовать символы // - тогда все, что следует за ними до конца строки, будет игнорироваться, подобно лишним символам пробела, табуляции и новой строки.
РНР позволяет использовать переменные - при этом их не нужно описывать так, как это делается в Visual Basic или Pascal. Вы просто вводите необходимую переменную там, где вам нужно и тогда, когда вам это нужно. Имена переменных начинаются с символа $.
Переменные могут быть трех типов: целые, с плавающей запятой и символьные строки. Хотя разделение на типы скорее условное, и каждая функция стремится использовать правильный тип автоматически. Например:
<?php$a = 7;$b = 9.5;$c = "Hello"; ?>Здесь переменной а присваивается значение 7, и она приобретает тип целочисленной. Переменная b обретает вещественный тип и становится равной 9,5. Строка Hello присваивается переменной с, в результате чего она становится строковой.
Для отображения переменных или результатов работы скрипта используется команда echo. Вот небольшой пример рабочей страницы, для того, что бы можно было оценить, как просто включить PHP-скрипт в обычный html-документ:
<html> <head><title>Пример</title></head> <body><?php $d = date(d.m.Y);echo "Последние обновления: $d "; ?></body></html>В результате загрузки такой страницы, РНР обработает все команды, которые находятся между специальными тэгами, и вы увидите, в данном случае, строку вроде Последние обновления: 2.08.2000. Браузер получает чистый HTML-код и если просмотреть его, вы не найдете там никаких следов пребывания РНР. Таким образом, вы создадите "вечно обновленную" страницу J.
Встроенная функция date() способна выводить текущие время и/или дату - в любом необходимом для вас виде.
С помощью PHP очень просто обрабатывать данные, полученные из форм, так как для каждого поля ввода в вашей форме автоматически создается переменная. Предположим, например, что у вас есть форма:
<formaction="thanx.php3" method=post><input type="text" name="name">< input type="text" name="email"> < input type="submit"> </form>Тогда в файле thanx.php3 можно написать что-нибудь вроде:
<?php echo "Спасибо вам, $name, за регистрацию. Мы только что отправили на $email 10Mb рекламных проспектов. Заходите к нам еще.";?>Тем самым вы порадуете посетителей своей странички такой оперативной работой, и они наверняка захотят вернуться к вам еще разок.
Письмо можно действительно послать, и это делается одной строкой. Если вы добавите в тот же thanx.php3 нижеследующее:
<?php mail($email, "Тема сообщения", "Простите, проспекты уже закончились");?>Письмо уйдет на адрес, который пользователь еще минуту назад неосмотрительно вводил в вашу форму.
РНР поддерживает HTTP-cookies. Cookies - это механизм для сохранения данных в удаленном браузере. Таким образом можно отслеживать или идентифицировать пользователя. Для того, чтобы сохранить переменную на компьютере посетителя вашей странички, используется функция SetCookie(). Любое значение cookies, сохраненное таким образом, автоматически превращается в переменную, так же как и в случае с формами. Например:
<?php SetCookie("TrojanHorse","Я вас где-то видел ");echo $TrojanHorse; ?>На экране появится строка: Я вас где-то видел. Все достаточно просто, сохранять можно любые переменные, а затем их использовать.
Именно поэтому в формах, которые вы хотя бы раз заполняли, при их последующих загрузках вы можете увидеть ваши имя, электронный адрес и прочую подобную информацию в соответствующих полях.
В РНР присутствует достаточно большой набор функций для работы с файлами. Причем можно работать как с локальными файлами, так и с теми, что расположены на удаленных серверах.
Процедура записи/чтения осуществляется очень просто.
<?PHP $fp = fopen("counter.txt","r+"); $c = fgets($fp, 10);$c = c + 1; rewind($fp); fputs($fp,$c); fclose($fp); echo $c; ?>Этот пример демонстрирует принцип создания на РНР, простейшего счетчика посещений вашей страницы. Функция fopen() открывает файл counter.txt для чтения и записи. В переменную с с помощью функции fgets() считывается строка длиной 10 байт. Затем значение счетчика увеличиваем на единицу. Здесь хорошо видно, как переменная с, которая вначале имела строковый тип, становится целочисленной: $c = c + 1. Функция rewind($fp) перемещает файловый указатель на начало файла. Новое значение счетчика записывается в файл fputs($fp,$c), после чего он закрывается fclose($fp). В том месте страницы, где будет расположен этот скрипт, всегда можно будет видеть, сколько раз эта страница посещалась.
Интересные возможности открываются при использовании HTTP-заголовков. Частным случаем их использования может служить такой пример. Допустим, вы имеете каталог ссылок и хотите знать, какие из них пользуются наибольшей популярностью. В этом случае можно использовать функцию header(). Например:
<?PHPheader("Location: http://www.php.net/"); ?>
В данном случае пользователь будет перенаправлен на сайт РНР. При этом можно увеличить значение счетчика, которое-то вам и расскажет, что именно интересует ваших посетителей. Заголовки (как, впрочем, и cookies) необходимо использовать до вывода данных командой echo или ей подобными функциями - иначе ничего не получится.
Чтобы больше узнать о ваших посетителях (а именно для этого, как вы теперь знаете, в начале и создавался этот язык), можно использовать предопределенные переменные, доступ к которым предоставляет РНР. Например, с помощью переменной REMOTE_ADDR вы узнаете IP-адрес, с которого пользователь просматривает вашу страничку. Переменная HTTP_USER_AGENT расскажет вам о том, какие браузеры и операционные системы используют ваши посетители. Существует еще множество других переменных, которые можно использовать для изучения аудитории посетителей вашего сайта или страницы.
2.1 HTML
HTML даёт авторам средства для того, чтобы:
· публиковать online-документы с оглавлением, текстом, таблицами, списками, фотографиями и т.д.;
· запрашивать online-информацию, переходя по гиперссылкам, нажимая кнопки;
· создавать формы для взаимодействия с удалённым сервисом, для поиска информации, создания архивов, продажи товаров и т д.;
· включать таблицы данных, видео и аудиоклипы и другие приложения прямо в документы.
Отличительный признак HTML-документа. Одним из принципов языка является многоуровневое вложение элементов. HTML является самым внешним, так как между его стартовым и конечным тегами должна находиться вся Web-страница.
Также основным тегом является <HEAD></head>
Область заголовка Web-страницы. Иными словами, ее первая часть. Так же как и HTML, HEAD служит только для формирования общей структуры документа.
<BODY></body>
Этот элемент заключает в себе гипертекст, который определяет собственно Web-страницу. Эта та часть документа, которую разрабатывает автор страницы и которая отображается броузером. Соответственно, конечный тег этого элемента надо искать в конце HTML-файла. Внутри BODY можно использовать все элементы, предназначенные для дизайна Web-страницы. Внутри стартового тега элемента BODY можно расположить ряд атрибутов, обеспечивающих установки для всей страницы целиком.
Если сравнить исходные тексты различных Web-страниц, можно легко увидеть сходство их структур. Это объясняется тем, что документы создаются по определенным правилам. В основу синтаксиса языка HTML лег стандарт ISO 8879:1986 “Informationprocessing. Textandofficesystems. StandardGeneralizedMarkupLanguage (SGML)”. Правда, существует большое различие между стандартом официальным и стандартом фактическим.
Ниже приведен шаблон типичного Web-документа. На его примере мы рассмотрим общие принципы построения HTML-страниц.
Для того чтобы понять структуру Web-страницы, нам необходимо подробно рассмотреть все элементы, входящие в приведенный листинг.
<COMMENT> Комментарий к документу </comment>