Изучаем PHP программирование

   Search   

Русская версия | English version   

Скрипты :: Секреты профессионалов :: Link :: FAQ   Пишите письма  



 

главная :: основы PHP

Заголовок

Проект: гостевая книга С первых дней World Wide Web разработчики сайтов стремились к тому, чтобы посетители могли поделиться своими мыслями и комментариями по поводу сайта. На сайтах эта возможность обычно называется «гостевой книгой» (guestbook). Я покажу, как легко создать гостевую книгу при помощи форм HTML, средств обработки форм РНР и текстового файла. Прежде всего создается инициализационный файл, содержащий некоторые глобальные переменные и функции приложения (листинг 10.10). Листинг 10.10. Файл init.inc, используемый при создании гостевой книги index,

"; // Если в файле гостевой книги имеются данные... if (filesize($guest_file) > 0) : // Открыть файл данных гостевой книги $fh = fopen($guest_file. "r") or die("Couldn't open $guest_file"); print ""; // Повторять до конца файла while (! feof($fh)) : // Прочитать следующую строку $line <= fgetsdfh, 4096); // Разбить строку на компоненты // и присвоить каждый компонент переменной list($date. $name, $email, $comments) = explode("|", $line): // Если указано имя посетителя, вывести его if ($name != "") : print "": print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; print ""; endif; endwhile; print "
Date:$date
Name:$name
Email:$email
Message:$comments
 :
"; // Закрыть файл fclose($fh); else : print "

Currently there are no entries in the guestbook!

"; endif; } // view_guest // Функция сохраняет новую информацию в файле данных function add_guest($name, $email, $comments) { GLOBAL $post_date, $guest_file; // Отформатировать данные для ввода , $contents = "$post_date|$name|$email |$comments\n"; // Открыть файл данных $fh = fopen($guest_file. "a") or dieC'Could not open $guest_file!"); // Записать данные в файл $wr = fwrite($fh, $contents) or die("Could not write to $guest_file!"); // Закрыть файл fclose($fh); } // add_guest ?> Затем создаются еще три файла: файл ссылок index.php, файл add_guest.php для вывода информации гостевой книги и файл view_guest.php для ввода новых данных. Файл index.php (листинг 10.11) просто отображает две ссылки для выполнения основных функций гостевой книги — просмотра и добавления новых данных. Эти ссылки легко включаются в сайт, имеющий более сложную структуру. Листинг 10.11. Файл index.php со ссылками для просмотра и добавления новых данных в гостевую книгу <?=$page_title;?> View the guestbook!
Sign the guestbook!
Hosted by uCoz
Файл view_guest.php (листинг 10.12) выводит всю информацию гостевой книги, хранящуюся в файле данных. Листинг 10.12. Файл view_guest.php vi ew_guest ( $guest_file ); ?> Файл add_guest.php (листинг 10.13) запрашивает у пользователя новые данные для внесения в гостевую книгу. Введенная информация записывается в файл данных. Листинг 10.13. Файл add_guest.php <?=$page_title:?> ?< // Если форма еще не отображалась - запросить данные у пользователя if (! $seenform) : ?>
Name:

Email:

Comment:

// Форма уже отображалась - добавить данные в текстовый файл. else : add_guest($name, $email, $comment); print "

Your comments have been added to the guestbook. Click here to return to the index.

"; endif; ?> К числу основных преимуществ модульной разработки приложений относится простота адаптации для других систем. Допустим, вы решили перейти от хранения данных в текстовом файле к использованию базы данных. Стоит изменить содержимое add_guest( ) и view_guest( ), и ваша гостевая книга перейдет на работу с базой данных. На рис. 10.8 показано, как выглядит гостевая книга после сохранения пары записей. Рис. 10.8. Просмотр гостевой книги (view_guest.php) Информация, показанная на рис. 10.8, хранится в файле данных в следующем виде: Oct 29 00|Michele|michelle@latorre.com|I love cheese! Oct 29 00|Nino|nino@latorre.com|Great site!

Designed by Fedin
All right reserved
2003-2004
Hosted by uCoz