В этой части раздела приводится обзор основных составляющих языка РНР с примерами. Каждый из примеров — образец реальной программы, используемый при построении сайта электронной коммерции. Все материалы раздела расчитаны на пользователей уже знакомых с языком серверных сценариев РНР. Изучение технологии РНР мы начнем с реализации формы заказа для вымышленной компании АВС, торгующей автомобилями и запасными частями к ним. Здесь мы еще раз узнаем, какие типы переменных существуют в языке РНР, и познакомимся с приоритетами операций.
Форма заказа
И так создадим форму заказа товара, в которой будут отображено: наименование товара, количество и информация о клиенте.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Компания АВС</title>
</head>
<body>
<form action="processorder.php" method="post">
<table width="500" border="0">
<tr bgcolor="#000066">
<td width="200" style="color:#FFF">Наименование товара</td>
<td width="20" style="color:#FFF">Количество</td>
</tr>
<tr>
<td>Фильтры масленные</td>
<td><input name="filtr" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Фильтры воздушные</td>
<td><input name="filtr_v" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Свечи зажигания</td>
<td><input name="sparkqty" type="text" size="3" maxlength="3"></td>
</tr>
<tr>
<td>Как вы нашли нашу компанию</td>
<td>
<select name="find">
<option value="a" selected>Я регулярный клиент</option>
<option value="b">Увидел в рекламе</option>
<option value="с">По рекомендации</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input name="" type="submit" value="Отправить заказ"></td>
</tr>
</table>
</form>
</body>
</html>
В окне веб-браузера это будет выглядеть ТАК.
Действию формы (action
) присвоено имя РНР-сценария, который будет обрабатывать заказ клиента. В общем случае значением атрибута action
является URL-адрес, который будет загружаться после щелчка пользователя по кнопке Sybmit
(Отправить заказ). Данные введенные пользователем в форму с помощью метода, отправляются по этому URL-адресу с помощью метода, указанного в атрибуте method
.
Имена полей filtr
— количество масляных фильтров, filtr_v
— количество воздушных фильтров, sparkqty
— кличество свечей зажигания, впоследствии будут использоваться в РНР-сценарии.
Обработка формы. Встраивание РНР в HTML
Для обработки формы напишем сценарий, указанный в атрибуте action
дескриптора form
, и назовеь его processorder.php
.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Компания АВС. Результаты заказа</title>
</head>
<body>
<h2>Компания АВС</h2>
<h3>Результаты заказа</h3>
<?php
echo "<p>Заказ обработан</p>";
?>
</body>
</html>
Сохраните файл.
А теперь заполните форму заказа и щелкните по кнопке Отправить заказ.
Код, помещенный в этот файл, можно отнести к следующим четырем типам:
- HTML;
- дескрипторы РНР;
- пробелы.
Большинство строк в приведенном выше примере — простой HTML-код.
А теперь разберем то, что написали.
РНР-код в предыдущем примере начинается с конструкции <?php
и за вершается конструкцией ?>
. Эти символы называются РНР-дескрипторами, поскольку указывают веб-серверу, где начинается и где заканчивается РНР-код.
Любой текст, находящийся между ними, интерпретируется как РНР-код. Текст за пределами этих дескрипторов трактуется как обычный HTML-код. РНР-дескрипторы позволяют перейти с кода HTML на другой код.
Существуют четыре различных стиля РНР-дескрипторов:
- XML-стиль
<?php echo "<p>Заказ обработан</p>"; ?>
Является наиболее предпочтительным в РНР
- Сокращенный стиль
<? echo "<p>Заказ обработан</p>"; ?>
Этот стиль является самым простым и соответствует стилю обработки языка SGML. Чтобы использовать этот дескриптор, достаточно включить переменную
short_open_tags
в файле конфигурации php.ini - SCRIPT-стиль
<script language = 'php'>echo "<p>Заказ обработан</p>";</script>
Этот стиль является самым длинным и используется, когда возникают проблемы с другими стилями.
- ASP-стиль
<% echo "<p>Заказ обработан</p>"; %>
Использованию этого стиля отдается предпочтение в случае работы с редактором, ориентированном на ASP или ASP.NET.
Действия, которые должен выполнить интерпретатор РНР, задается операторами РНР, помещенными между открывающим и закрывающим дескриптором. В рассматриваемом примере используется один вид оператора:
<?php echo "<p>Заказ обработан</p>"; ?>
Оператор echo
выполняет очень простое действие — выводит в окно веб-браузера переданную ему строку.
В конце строки находится точка с запятой, которая выполняет роль разделения предложения.
Пустые символы, такие как пустые строки (возврат каретки), пробелы между словами и символы табуляции — образуют категорию пробелов. Веб-браузеры игнорируют пробельные символы в HTML-коде. Механизм РНР действует точно также.
Понятие комментария имеет следующий смысл: комментарии к коду служат пояснениями для людей, разбирающихся с текстом программы и используются для описания соответствующего сценария. Интерпретатор РНР игнорирует любой текст помещенный в комментарий.
РНР поддерживает комментарии в стиле С, С++ и сценариев оболочки.
Сценарий в стиле С:
/*. . . текст . . .*/
Сценарий в стиле С++:
// текст
Сценарий стиля оболочки:
# текст
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться