Изтаев Ж.Д., Кошкарова М.А.
Южно-Казахстанский
Государственный университет, г.Шымкент
Применение РНР-технологии в динамических WEB-проектах
Введение. HTML-документы обычно описываются
на языке HTML (HyperText Markup Language, язык гипертекстовой разметки), ставшем основным языком описания документов в Internet. Язык РНР (Hypertext Preprocessor, гипертекстовый препроцессор) предназначен для создания динамических Web-проектов в Интернете.
Цель данной статьи познакомить пользователя с той частью РНР-технологий, которая связана с созданием интерактивных
интерфейсов и предполагается что пользователь знаком с основами WWW, HTML и РНР.
Интерактивый интерфейс. В общем случае, интерактивный интерфейс
пользователя представляет собой систему, обеспечивающую взаимодействие
пользователя и Web-проекта. Для WWW, интерактивный интерфейс можно
определить как последовательность HTML-документов, реализующих интерфейс
пользователя.
Можно условно классифицировать
принципы построения интерфейса по типу формирования Web-проекта:
·
статический
·
динамический
В первом
случае источником интерфейса является HTML-документ, созданный в текстовом
редакторе. Следовательно, данный документ остается неизменным в течение
использования. Во втором случае источником интерфейса является HTML-документ
сгенерированный cgi-модулем. Следовательно, появляется некоторая гибкость в
видоизменении интерфейса во время использования.
Задача построения выше названных интерфейсов делится на две
части:
·
клиентская
·
серверная
Практически любая задача,
решающая проблему получения данных от клиента, связана с построением
интерфейса. Наиболее интересным является построение интерфейсов к различным
базам данных, доступ к SQL-серверу, получение информации от периферийных
устройств, создание клиентских рабочих мест. Все это возможно посредством CGI-технологии.
CGI (Common Gateway Interface) –
технология, позволяющая запускать на Web-сервере
программы
(серверная часть интерактивного интерфейса),
поддерживаемых этим Web-сервером. Для реализации такой технологии необходимо использовать взаимодействие
WWW-сервера с запускаемыми CGI-модулями.
Если программа, запускаемый на Web-сервере, представлена не двоичным кодом, а текстовым (CGI-скрипт), то для ее
выполнения требуется препроцессор. Препроцессор включается
в состав web-сервера и вызывается им при
необходимости заняться выполнением программного кода. PHP является именно
препроцессором, что, собственно, и видно из его названия.
Web-программирование – разработка любых программных проектов, предназначенных для работы на WWW. В настоящее время под Web-программированием понимают использование на Web-проекте технологий JavaScript для достижения сложных эффектов и создание CGI-приложений.
Все
языки программирования, используемые при разработке Web-проектов, можно разделить на две большие группы. К первой
относиться JavaScript, код которой выполняется на клиентской части Web-проекта.
PHP относится
ко второй группе – программа на PHP (РНР-скрипт)
исполняется на web-сервере. Однако от других CGI-языков PHP очень сильно отличается в лучшую сторону, прежде всего
своей простотой.
Работа с РНР. PHP
обрабатывает данные на сервере. Чтобы проверить работу РНР-скрипта, нужен Web-сервер в Интернете. Эту
проблему можно решить двумя способами. Традиционный путь решения прост – зарегистрировать проект в Интернете на сервере с поддержкой PHP и закачивать туда
обновления РНР-скрипта. Иногда используют режим редактирования в FTP-клиенте.
Или другой, которым мы воспользуемся, установить Web-сервер (Apache) на компьютере. Он занимает мало места
на жеском диске и очень удобен в использовании (проверять скрипты на своем
компьютере + не нужен доступ в Интернет). Последнюю версию сервера Apache можно скачать с официального сайта разработчиков – www.apache.org.
Основным источником сведений по РНР является официальный сайт его
разработчиков – www.php.net. Именно на этом сайте представлены дистрибутивы
различных версий РНР для разных платформ. Также на www.php.net размещаются
руководства по РНР на разных языках, а кроме того, списки сайтов, посвященных
программированию на РНР.
Для работы с большинством
типов баз данных в РНР есть встроенные функции, поэтому достаточно лишь
установить на web-сервере программу работы с
базой данных. Наиболее часто используется бесплатная МуSOL – http://www. mysql.com.
Программный пакет «Denwer». Установка Apache, PHP, MySQL из их оригинальных дистрибутивов может стать для вас
весьма затруднительной вследствие определенной сложности в настройке этих
программ. Но
имеется специализированные программные пакеты для установки этих приложений. Наиболее совершенным и самым популярным среди них
является проект «Denwer».
«Denwer» – это комплект программ,
состоящий из последних версий [1]:
·
Web-сервера Apache;
·
Интерпретатора языка PHP;
·
Интерпретатора языка Perl;
·
СУБД MySQL.
Чтобы превратить ваш
компьютер в тестировочную площадку, необходимо загрузить свежую версию «Denwer»
с сайта проекта http://www.denwer.ru.
В «Denwer» все эти
компоненты избавлены от малоиспользуемых модулей и объединены в единый
установочный пакет. Кроме того, в «Denwer» входят PHPMyAdmin (набор сценариев для работы с MySQL) и особые программы для запуска компонентов пакета и
их остановки.
Общая схема «Denwer»
такова. В той папке, в которую пакет будет установлен, частично воспроизводится
структура каталогов операционной системы Unix. На основе именно этой системы
построены практически все сервисы хостинга, и разработчики пакета решили
максимально точно воспроизвести то окружение, которое имеется на таких
сервисах. В эти каталоги и осуществляется установка программных файлов, и там
же находится место для размещения сайтов пользователя, тех самых, которые и
требуется строить и отлаживать.
Пример: В данном примере будет рассмотрен алгоритм организации на
проекте такого интересного сервиса, как отправка бесплатных SMS. Один из способов отправки сообщений через Интернет
осуществляется с помощью отсылки письма на e-mail следующего вида: номер@адрес сайта оператора [2].
На первом этапе разработаем форму,
через которую пользователь вводить необходимые данные: имя оператора и номер
телефона, а также текст SMS-сообщения. Внешний вид формы можно увидеть на рисунке.
Далее напишем РНР-скрипт, который будет обрабатывать полученные данные.
<html>
<head>
<title> Отправка SMS по Казахстану </title>
</head>
<body>
<form metod=POST action=smskz.php>
<table border=1 align=center>
<tr><td> Оператор
</td>
<td><select
name=”operator”>
<option
value=”kcell”> Kcell </option>
<option value=”beeline”> Beeline </option>
</select></td></tr>
<tr><td> Номер </td> // номер телефона 7 цифр
<td><input type=text
name=nomer maxlength=7></td></tr>
<tr><td> Текст
</td>
<td><textarea name=smskz
cols=40 rows=6></textarea></td></tr>
<tr><td><center><input type=hidden name=action value=true>
<input type=submit value=”Отправить”></center></td></tr>
</table></form>
<p><font color=”#000080”>
<?php
if (!isset($action) ||
$action!=true) exit;
if (!isset($operator) || $operator===”” { echo “Не выбран оператор”; exit; }
switch($operator) {
case ‘kcell’: $oper=”8701”; $addr=”@sms.kcell.kz”; break;
case ‘beeline’: $oper=”8777”; $addr=”@sms.beeline.kz”; break; }
if (!isset($nomer) || strlen($nomer)!==7)
{ echo “номер-?”; exit; }
if (!isset($oper)) { echo “оператор-?”; exit; }
if (!isset($smskz) ||
$smskz==””) { echo “Введите текст”; exit; }
$email=$oper.$nomer.$addr;
mail($email, “”, $smskz;);
echo “Сообщение отправлено на номер:“ .$oper.$nomer;
$action=false;
?>
</font>
</body>
</html>
Литература
1.
Орлов А.А. РНР: Полезные приемы. 2-е изд., перераб. и доп. –М.: Телеком,
2006. -272 с.:ил.
2.
Парижский С.М., Литвиненко Н.А. РНР: Теория и практика –К.: МК-Пресс, 2006.
-384 с., ил.