ГЛАВА 18
Создание интерактивных сайтов
Здесь мы подведем итог всего, что было сказано в трех предыдущих главах: научимся создавать целые интерактивные сайты, построенные на основе серверных Web -страниц. Мы объединим все полученные нами ранее знания в единое целое — Web-сайт, чьи страницы генерируются серверными программами на основе базы данных. И на этом закончим изучение Dreamweaver .
Да-да, это все! Конец книги близок. Автор рассказал вам о Dreamweaver все, что хотел рассказать. Остальное зависит только от вас, от вашего трудолюбия и желания учиться большему.
Создание интерактивных Web -сайтов — высший пилотаж Web -дизайна. Чтобы сделать такой сайт, Web -дизайнер не только должен владеть языком HTML и обладать художественным чутьем, но и просто обязан знать "классическое" программирование и разбираться в базах данных. Конечно, современные программные продукты, наподобие Macromedia Dreamweaver , значительно облегчают труд Web -дизайнера, но отнюдь не берут всю его работу на себя. Уже говорилось, что Web -дизайн, как и "классическое" программирование — не наука, а искусство, иначе и программистов, и Web -дизайнеров давно бы уже заменили роботами. Или программами типа Dreamweaver .
Поэтому и программист, и Web -дизайнер, чтобы достичь вершин мастерства, должны работать. Программистами и Web -дизайнерами не рождаются — ими становятся. И данная книга — только первый шаг в овладении этими всегда перспективными профессиями.
В настоящее время профессии Web -дизайнера и Web -программиста слились в одну. Теперь любой Web -дизайнер просто обязан владеть навыками серверного программирования. А иначе и быть не может: интерактивные Web -сайты из разряда экзотики переходят в область ширпотреба. Сейчас можно сказать, что все сайты являются интерактивными. По крайней мере, боль шинство из них содержит хотя бы гостевую книгу, т. е. реализует начальный уровень взаимодействия с посетителями.
Об интернет-магазинах, расплодившихся, словно грибы после дождя, уже не стоит и говорить. Интернет-магазин — это большой интерактивный сайт, и создать его без серверного программирования невозможно. (Можно, конечно, но тогда у вас получится простейший сайт фирмы со списком товаров и сведениями о заказе.) Также без серверного программирования не удастся создать полноценный поисковый сайт, доску объявлений и даже полноценный архив программ.
А поэтому нам просто необходимо выяснить, как создаются такие вот интерактивные сайты. И начнем мы, как всегда, с теории.
Принципы создания интерактивных сайтов
Перечислим основные принципы разработки интерактивных Web -сайтов.
1. Все или почти все страницы сайта генерируются серверными программами. Статичные страницы хоть и присутствуют, но составляют весьма незначительный процент и содержат данные, не меняющиеся с течением времени, например сведения о владельце сайта или справочные данные о пользовании сайтом.
2. Данные для генерации страниц, как правило, берутся из баз данных, поскольку программирующее человечество пока что не придумало лучшего способа организованно хранить однотипные данные, чем помещение их в реляционные базы, которые вне конкуренции. Базы данных практически всегда работают под управлением сервера и очень часто — на отдельном серверном компьютере. Нередко также используется хранение данных в текстовых файлах, но это справедливо, в основном, для фрагментов Web -страниц (серверные включения).
3. Очень часто используется разграничение доступа к сайту. Разграничение доступа подразумевает, что разные посетители сайта имеют различные права на доступ к тем или иным данным, опубликованным на сайте. Так, обычные посетители могут только просматривать данные, в то время как "опытные" посетители имеют возможность также вносить в них некоторые изменения. Ну, а администраторы сайта, разумеется, могут творить с ними все, что захотят.
4. Если сайт использует разграничение доступа, то он обязательно должен предусматривать возможность входа (поанглийски — logon ). Чтобы войти на сайт, посетитель должен зайти на особую страницу входа и набрать своё имя и пароль. Если эти имя и пароль занесены в список посетителей сайта, серверная программа разрешает посетителю войти на сайт. В противном случае посетителю предлагается зарегистрироваться на сайте.
5. Сайт, использующий разграничение доступа, должен также предусматривать возможность регистрации посетителя. Если это общедоступный сайт, наподобие интернет-магазина, то посетитель регистрируется на нем, вводя данные о себе на особой странице регистрации, после чего они помещаются в список посетителей сайта. Если же это закрытый сайт, то для регистрации на нем надо будет обратиться к его администратору.
6. Сайт, использующий разграничение доступа, должен также предусматривать возможность выхода с сайта. При этом серверная программа "забывает", что данный посетитель вошел на сайт, очищая память, отведенную для хранения данных в нем, хотя соответствующая запись в списке посетителей, конечно же, сохраняется. Каждый посетитель, вошедший на сайт, обязательно должен с него выйти, чтобы освободить системные ресурсы серверного компьютера для других посетителей. Чтобы выйти с сайта, посетитель обычно должен щелкнуть специальную гиперссылку; реже используется особая страница выхода с сайта.
7. Разумеется, полностью общедоступные сайты типа поисковых машин не предусматривают разграничение доступа.
Осталось теперь ввести один термин. Давайте назовем процесс "общения" посетителя с Web -сайтом, начиная от входа на главную страницу и заканчивая "уходом" с него, сессией. В дальнейшем мы будем часто пользоваться этим термином, так что не забывайте его.
Вот теперь, кажется, все. Можно приступать к созданию нашего первого интерактивного Web -сайта. Пусть это будет библиотека различных афоризмов, умных, глупых или нейтральных. Причем доступна эта библиотека будет только после регистрации, т. е. она будет поддерживать разграничение доступа. Сами данные библиотеки будут храниться в базе данных Access , a доступ к ним будет производиться через особые серверные страницы. (Такой способ общения с базой данных называется Web -интерфейсом.)
Итак, приступим...
Административные страницы сайта
Первоначально создадим набор Web -страниц, служащих для администрирования нашего сайта. В самом деле, нашу базу данных нужно сначала наполнить содержимым — кому нужна пустая библиотека. А это работа администратора, которому необходимо предоставить соответствующие инструменты.