Нажмите кнопку со знаком "плюс". В списке появится новая строка. Щелкните по этой строке в районе колонки Name (имя создаваемой переменной) и введите это имя, в нашем случае — sign. После этого щелкните в районе колонки Default Value (значение переменной по умолчанию, присваиваемое ей изначально) и введите, скажем, 2 (т. е. по умолчанию будут выводиться только "нейтральные" записи). Теперь останется лишь ввести в колонку Run-time Value выражение, задающее истинное значение этой переменной. В нашем случае это будет следующий код:
Request.QueryString("sign")
Он извлекает из строки запроса, переданной методом GET, параметр sign. Если же вы передаете параметры методом POST, код будет несколько иным:
Request.Form("sign")
Вот и все. Мы создали переменную SQL-запроса и теперь можем ее использовать.
Откройте в списке Database Items ветви Tablesи Guestbook и выберите пункт Sign. Поставьте текстовый курсор в поле ввода SQL после текста
"WHERE Sign=ID" и нажмите кнопку WHERE. Содержимое поля ввода SQL станет таким:
SELECT Content, Desc, Color FROM Guestbook, Signs WHERE Sign= ID AND Sign
Поставьте текстовый курсор после текста "AND Sign" и введите вручную текст =sign. Таким образом, окончательный SQL-запрос будет выглядеть так:
SELECT Content, Desc, Color FROM Guestbook, Signs WHERE Sign=ID AND Sign=sign
Все, наш новый запрос создан. Можете нажать кнопку ОК. Перед этим, однако, лучше нажать кнопку Test, чтобы проверить правильность задания запроса. Так, на всякий случай.
Теперь сохраните страницу Guestbook_table.asp и опубликуйте ее на Web-сервере вместе со страницей Selector.htm. После этого откройте в Web-обозревателе страницу Selector.htm, набрав в строке адреса следующее:
http://localhost/HTMLs/Selector.htm
Пощелкайте по ссылкам и посмотрите, что из этого получится. Если же серверная страница упорно выдает вам список всех записей гостевой книги, то просто нажмите кнопку обновления вашего Web-обозревателя.
Необязательные области серверной страницы
Кроме повторяющихся областей, Dreamweaver поддерживает создание также областей необязательных. Вы, конечно, помните, что говорилось о необязательных областях в главе 9, но на всякий случай давайте повторим это. Необязательная область создается на серверной странице и может присутствовать или не присутствовать в зависимости от выполнения или невыполнения какого-либо условия. Все же вам стоит прочитать еще раз главу 9, где о необязательных областях говорилось более подробно.
Чтобы создать необязательную область, сначала выделите элементы ртрани-цы, которые должны стать ее содержимым. После этого выберите в подменю Show Region меню кнопки "плюс" панели Server Behaviors один из пунктов. Всего этих пунктов шесть:
· Show Region If Recordset Is Empty - создает необязательную область, отображаемую, если набор данных не содержит ни одной записи (пуст);
· Show Region If Recordset Is Not Empty — создает необязательную область, отображаемую, если набор данных содержит хотя бы одну запись (не пуст);
· Show Region If First Record — создает необязательную область, отображаемую, если текущей является первая запись набора;
· Show Region If Not First Record - создает необязательную область, отображаемую, если текущей является не первая запись набора;
· Show Region If Last Record — создает необязательную область, отображаемую, если текущей является последняя запись набора;
· Show Region If Not Last Record — создает необязательную область, отображаемую, если текущей является не последняя запись набора.
Давайте поместим повторяющуюся область, навигатор и строку статуса набора данных, т. е. все содержимое страницы, в необязательную область, отображаемую, если набор данных содержит записи. Для этого выделим все, что находится на странице, и выберем пункт Show Region If Recordset Is Not Empty. После этого на экране появится диалоговое окно Show Region If Recordset Is Not Empty.
Единственное, что вам нужно сделать, — это выбрать в раскрывающемся списке Recordset нужный набор данных. И нажать кнопку ОК.
Теперь можете проверить измененную страницу Guestbook_table.asp. Переключитесь в режим показа "живых" данных или откройте ее в Web-обозревателе. Поскольку набор данных Guestbook содержит данные, содержимое страницы (оно же — содержимое необязательной области) будет отображено.
Теперь давайте создадим еще одну необязательную область, но отображаемую, если набор данных не имеет записей. Поместим в эту область текст "Гостевая книга не содержит записей". Это обычная практика в Web-дизайне: предупредить посетителя о том, что какой-то набор данных пуст.
Поместим текстовый курсор после созданной ранее необязательной области и нажмем клавишу <Enter>. В новом текстовом абзаце наберем текст "Гостевая книга не содержит записей и выделим его целиком, для чего щелкнем по соответствующей кнопке секции тегов.
Далее выберем в подменю Show Region меню кнопки "плюс" панели Server Behaviors пункт Show Region If Recordset Is Empty. На экране появится диалоговое окно Show Region If Recordset Is Empty, аналогичное уже знакомому вам окну Show Region If Recordset Is Not Empty. Выберем в раскрывающемся списке Recordset нужный набор данных и нажмем кнопку ОК.
Также можно поместить гиперссылки, составляющие навигатор, в необязательные области, отображаемые и скрываемые в зависимости от того, является ли текущая запись первой или последней. Сделайте это сами — это будет хорошей практикой.
На этом рассказ о создании простейших серверных страниц можно считать почти законченным. Почти потому, что нам нужно рассмотреть еще одну возможность, предлагаемую Dreamweaver, — быстрое создание серверных страниц.
Быстрое создание серверных страниц
Очень часто бывает просто необходимо быстренько сляпать какую-либо серверную страницу: поместить в нее форму для ввода данных, навигатор, строку статуса и т. п. Специально для таких "пожарных" случаев Dreamweaver предлагает возможность быстрого создания серверных страниц. Воспользовавшись пунктами подменю Application Objects меню Insert или соответствующими им кнопками вкладки Application панели объектов и введя нужные данные в появившихся на экране диалоговых окнах, вы можете быстро создать различные элементы, присущие серверным страницам. Согласитесь — это неплохой выход для малоопытных программистов и торопыг.
Вы спросите, почему автор описал эту замечательную возможность в паре абзацев, да вдобавок в самом конце книги? Дело в том, что задача автора: научить вас серверному программированию в среде Dreamweaver. А для этого вам нужно самим "почувствовать" в руках если не сам программный код, то хотя бы поведения Dreamweaver и элементы страниц, к которым они привязаны. Вы должны сами знать, как что работает. Кроме того, настоящий творец все делает своими руками. (Можете считать это шуткой, но это правда.)
Хотя не в силах автора запретить вам пользоваться возможностями быстрого создания серверных страниц. Но только если действительно нет времени (или желания) творить.
Что дальше?
А дальше продолжим занятия серверным программированием.
В этой главе мы научились создавать простейшие серверные страницы. А в следующей — и последней — главе настоящей книги мы узнаем, как создаются простейшие интерактивные сайты. Мы узнаем, как объединить вместе серверные страницы, обрабатывающие данные из базы. А также изучим некоторые основные понятия, не затронутые в этой главе.
Ну, так что? Вперед, к интерактивности!
· Глава 18. Создание интерактивных сайтов
o Принципы создания интерактивных сайтов
o Административные страницы сайта
o Как администрируются Web-сайты
o Страница списка высказываний
o Страница добавления записи
o Страница изменения записи
o Средства удаления записи
o Страница входа на сайт
o Защита страниц от несанкционированного доступа
o Реализация выхода с сайта
o Страницы общего доступа
o Страница списка категорий
o Страница списка высказываний
o Страница регистрации посетителя
o Реализация поиска высказываний
o Что дальше?
ГЛАВА 18
Создание интерактивных сайтов.
Здесь мы подведем итог всего, что было сказано в трех предыдущих главах: научимся создавать целые интерактивные сайты, построенные на основе серверных Web-страниц. Мы объединим все полученные нами ранее знания в единое целое — Web-сайт, чьи страницы генерируются серверными программами на основе базы данных. И на этом закончим изучение Dreamweaver.
Да-да, это все! Конец книги близок. Автор рассказал вам о Dreamweaver все, что хотел рассказать. Остальное зависит только от вас, от вашего трудолюбия и желания учиться большему.
Создание интерактивных Web-сайтов - высший пилотаж Web-дизайна. Чтобы сделать такой сайт, Web-дизайнер не только должен владеть языком HTML и обладать художественным чутьем, но и просто обязан знать "классическое" программирование и разбираться в базах данных. Конечно, современные программные продукты, наподобие Macromedia Dreamweaver, значительно облегчают труд Web-дизайнера, но отнюдь не берут всю его работу на себя. Уже говорилось, что Web-дизайн, как и "классическое" программирование — не наука, а искусство, иначе и программистов, и Web-дизайнеров давно бы уже заменили роботами. Или программами типа Dreamweaver.
Поэтому и программист, и Web-дизайнер, чтобы достичь вершин мастерства, должны работать. Программистами и Web-дизайнерами не рождаются -ими становятся. И данная книга — только первый шаг в овладении этими всегда перспективными профессиями.
В настоящее время профессии Web-дизайнера и Web-программиста слились в одну. Теперь любой Web-дизайнер просто обязан владеть навыками серверного программирования. А иначе и быть не может: интерактивные Web-сайты из разряда экзотики переходят в область ширпотреба. Сейчас можно сказать, что все сайты являются интерактивными. По крайней мере, большинство из них содержит хотя бы гостевую книгу, т. е. реализует начальный уровень взаимодействия с посетителями.