2 Ход работы
2.1 Установка web-сервера Apache
Часто возникает ситуация, когда необходимо проверить полный вид html-страницы. Однако чаще всего это невозможно при работе дома - технологии SSI, CGI и, конечно, PHP требуют сервера. Как же быть? Не стоит впадать в апатию - нужно просто установить на Ваш домашний компьютер (пусть даже и не подключенный к Интернет) специальную программу - Web-сервер. Вообще-то серверов существует множество, но Apache - чуть ли не единственный сервер, который позволяет работать в Windows с технологиями PHP, CGI и Perl-скриптами одновременно так же просто и непринужденно, как будто у вас стоит Unix.
Используемый в лабораторной работе комплекс программ позволяет запустить полноценный Web-сервер Apache с поддержкой PHP, Perl и сервер MySQL на машине, работающей под управлением MS Windows 95/98/Me/NT/2000/XP. Как правило, при установке не требуется никакой настройки, комплекс может использоваться даже неподготовленными пользователями. Тем не менее, он может найти применение не только для обучения азам Web-программирования, но и для отладки интерактивных сайтов, программ, использующих базу данных MySQL, написанных на языках PHP и Perl.
Дистрибутив представлен в виде самораспаковывающегося архива istal.exe, содержащего также и автоматически запускаемый инсталлятор. Установите программу, выбрав при установке режим 2 (виртуальный диск при запуске Windows не создается). После установки на рабочем столе появятся три ярлыка, с помощью которых осуществляется запуск и остановка сервера. После установки и первого запуска комплекса рекомендуется сразу же запустить браузер, набрав в нем следующий URL: "http://localhost". Вы должны попасть на тестовую страницу системы. Выбрав те или иные ссылки, вы можете протестировать каждый компонент отдельно. Если при наборе этого адреса в браузере выскакивает сообщение об ошибке, проверьте, отключен ли у вас в настройках прокси-сервер.
2.2 Создание гостевой книги
Создадим статичную HTML страницу. С помощью блокнота создайте файл с именем add.php и поместите туда код, который приведен в примере 2.1.
Пример 2.1. Статичная HTML-страница с формой |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Гостевая книга</title> </head> <body> <form method=post action="add.php"><br> <font face=Arial size=2>Ваше имя:</font><br> <input type=text name="name"> <br><br> <font face=Arial size=2>Ваш E-mail:</font><br> <input type=text name="email"> <br><br> <font face=Arial size=2>Ваше пожелание:</font> <br> <textarea rows=15 cols=40 name="text"></textarea><br><br> <input type=submit name=cmdPost value=Отправить> <input type=reset name=cmdClear value=Очистить> </form> <hr> </body> </html>
|
Откройте файл в окне браузера и посмотрите результат (рис.2.1).
Скопируйте ваш файл add.php в каталог на виртуальном диске Z:\home\test1.ru\www. В адресной строке браузера наберите адрес http://test1.ru/add.php.
Теперь откроем файл с помощью блокнота и в HTML-код после открывающего тэга <body> добавим текст скрипта формирующего файл с объявлениями (new.txt):
<?
Error_Reporting(E_ALL & ~E_NOTICE);
If ($cmdPost!=""){
$fp=fopen("new.txt","a+");
fputs($fp, "<font face=Arial size=2>От: <a href=\"mailto:$email\">$name</a><br>$text<p><br><hr></font>");
fclose($fp);
echo "<font face=Arial size=2><b>Спасибо. Ваше сообщение добавлено в Гостевую книгу.</b></font>";
}
?>
где:
If ($cmdPost!="")
{
}
является условием проверки “Какая кнопка была нажата”. В данном случае проверяется содержимое переменной $cmdPost (кнопка Отправить). Если содержимое переменной равно “”. Тогда выполняется код находящийся внутри условия. Если нет, тогда скрипт завершит свою работу и передаст управление тэгам HTML.
$fp=fopen("new.txt","a+") - открываем файл new.txt с параметром a+ в каталоге, где находится файл add.php3. Параметр a+ говорит, что мы открываем файл для записи и чтения, причем при открытии файла мы помещаем указатель в конец файла. Существуют еще несколько параметров:
'r' - открыть только для чтения, помещает указатель на начало файла,
'r+' - открыть для чтения и для записи, помещает указатель на начало файла,
'w' - открыть только для записи, помещает указатель на начало файла и очищает все содержимое файла, если файл не существует, создается новый файл,
'w+' - открыть для чтения и для записи, помещает указатель на начало файла и очищает все содержимое файла, если файл не существует, создается новый файл,
'a' - открыть только для записи, помещает указатель на конец файла, если файл не существует, создается новый файл,
'a+' - открыть для чтения и для записи, помещает указатель на конец файла, если файл не сществует, создается новый файл.
fputs($fp, "код HTML или простой текст") - этот код записывает в файл $fp (это new.txt) некий текст или HTML-код.
fclose($fp) - данный код закрывает файл new.txt (т.е. $fp).
echo "<font face=Arial size=2><b>Спасибо. Ваше сообщение добавлено в Гостевую книгу.</b></font>"; - команда echo выведет в левом верхнем углу HTML страницы текст находящийся в кавычках.
В открытом окне браузера с файлом add.php нажмите F5 (обновить). Если не появилось сообщение об ошибке, и вы увидели форму с полями для ввода, то все прошло нормально. Теперь попробуйте добавить сообщение и нажать кнопку «Отправить». В результате в окне должно появиться сообщение «Спасибо. Ваше сообщение добавлено в Гостевую книгу.» (рис.2.2).
Обратите внимание, что в каталоге появился файл new.txt, куда и записываются все сообщения.
Далее сделаем так, чтобы все добавленные сообщения выводились в окне браузера ниже формы для их ввода.
Для этого добавим в HTML-код перед тэгом </body> такой код PHP:
<?
if (file_exists("new.txt")){
include("new.txt");
}
?>
Данный скрипт выполняет вставку файла new.txt только в том случае, если этот файл существует. В противном случае никакой вставки не будет.
Для просмотра результата в окне браузера нажмите F5. На экране под формой должны появиться сообщения созданные вами ранее (рис.2.3). Попробуйте добавлять новые сообщения, они будут появляться под формой ввода.