В процессе совершенствования сайта Newland Tours достигнут важный результат. Произведена модернизация сайта до XHTML, удален неэффективный код, влияющий на внешний вид. Помимо этого, создана каскадная таблица стилей для всего сайта, разработан шаблон страниц и улучшена навигационная схема сайта. При просмотре сайта в браузере практически не заметно, что мы занимались его усовершенствованием на протяжении первых трех уроков. Все существенные изменения не отображаются на экране, тем не менее, по своей структуре и стилю сайт стал соответствовать стандартам, поэтому его в дальнейшем довольно легко поддерживать в работоспособном состоянии.
(рис 4.1) При разработке динамических приложений нередко в обычный текст добавляются заменители переменныхВ этом уроке перейдем от разработки обычных статичных веб-сайтов к созданию интерактивных динамических сайтов, управляемых базами данных. Прежде чем начинать работу, следует ознакомиться с некоторыми теоретическими и техническими аспектами данного раздела. В этом уроке будут рассмотрены механизмы работы динамических сайтов и цели, с которыми они создаются. Будет проведена настройка Dreamweaver для работы с динамическими данными и создана первая страница, с динамическим контентом.
Что будет изучаться:
Время выполнения
На выполнение этого урока потребуется примерно 1 час.
Файлы урока
Исходные файлы:
Lesson04/Start/newland/about.htm
Lesson04/Start/newland/contact.htm
Lesson04/Start/newland/css/newland.css
Lesson04/Start/newland/generic_template.htm
Lesson04/Start/newland/index.htm
Lesson04/Start/newland/profiles.htm
Lesson04/Start/newland/tours.htm
Итоговые файлы:
Lesson04/Complete/newland-asp/about.asp
Lesson04/Complete/newland-asp/contact.asp
Lesson04/Complete/newland-asp/css/newland.css
Lesson04/Complete/newland-asp/generic_template.asp
Lesson04/Complete/newland-asp/index.asp
Lesson04/Complete/newland-asp/profiles.asp
Lesson04/Complete/newland-asp/test_form.asp
Lesson04/Complete/newland-asp/test_form_processor.asp
Lesson04/Complete/newland-asp/tours.asp
Если на мгновение отвлечься от особенностей сайта Newland Tours, описанных в предыдущих уроках, будет легко понять ряд принципов, которые важны для разработки динамического сайта. Один из них – это отделение структурной разметки от дизайна. К этому моменту за структурную разметку страниц отвечает XHTML-код, а за их внешний вид – каскадные таблицы стилей. Другой принцип – сочетание двух различных типов документов (HTML-страницы и CSS-файла), в результате чего появляется новый документ, непохожий на исходные. Эти принципы являются системообразующими при разработке динамичных веб-сайтов.
Для того чтобы понять это взаимодействие и подготовиться к будущим заданиям, уделим время анализу отношений между тремя различными источниками информации, из которых формируется каждая веб-страница: контентом (текстом, картинками и т.д.), логической структурой (иерархическим построением элементов структуры документа, например, заголовками и обычным текстом) и оформлением (цветом, размером шрифтов, расположением и другими визуальными эффектами).
В ранних версиях HTML текст, разметка и код внешнего вида содержались в HTML-документе. Другими словами, на жестком диске разработчика и в браузере пользователя документ выглядел одинаково. Эта простая взаимосвязь отображена на первой схеме вверху следующей страницы.
В результате изменений, проведенных в уроках 2 и 3, взаимосвязь изменилась, а конкретно, внешний вид документа был отделен от его структуры и контента. Информация о внешнем виде теперь содержится в CSS-файле. Содержимое документа расположено в виде текста внутри разметки XHTML, отображающей логическую структуру документа. Только при объединении XHTML- и CSS-документов формируется итоговая страница. Эта новая взаимосвязь представлена на второй схеме вверху следующей страницы.

Теперь в эту взаимосвязь будет добавлен еще один уровень, еще мощнее и значимее, чем переход от HTML к XHTML и CSS. Его суть заключается в том, что при добавлении на страницу сведений из базы данных, оно отделяется от структурных компонентов документа. Это означает, что все три уровня – внешний вид, логическая структура и контент – становятся практически независимыми друг от друга, то есть при существенном изменении на одном из уровней не требуется вносить правки на других. Взаимосвязь (и основной план для всей книги) представлена на схеме вверху следующей страницы.
HTML не позволяет отделить контент от логической структуры документа. Даже в ключевой пятой версии (XHTML 1) язык разметки HTML, в значительной мере, предназначен для разметки открытого текста. Он не может выполнять сценарии, вычислять значения выражений, производить математические расчеты, взаимодействовать с базой данных или обмениваться с пользователем информацией. Тем временем, для отделения логической структуры от контента порой необходимо использовать все эти возможности и даже больше. Для выполнения всех этих задач с помощью HTML требуются дополнительные средства, и для этого идеально подходят технологии, выполняемые на стороне сервера – Microsoft ASP, Macromedia ColdFusion MX и PHP.

Серверные технологии (ASP, ColdFusion, PHP и другие, к примеру,
Но здесь есть одна загвоздка. Браузеры могут обрабатывать только HTML, CSS и JavaScript, а серверные сценарии они не способны обрабатывать (под серверными сценариями подразумевается код, написанный на ASP, ColdFusion, PHP и т. п.). Поэтому серверные сценарии выполняются на сервере, а затем пересылаются браузеру. Все, что сервер отправляет браузеру, должно быть предварительно преобразовано в стандартный HTML-код.
Проще говоря, для того чтобы страница с динамическим содержимым отобразилась в браузере, следует запустить ее на сервере, способном выполнить код. Это и есть главное отличие от стандартных HTML-страниц, которые отображаются в браузере, независимо от их расположения. Если открыть в Internet Explorer или Netscape любую HTML-страницу из папки , а не файлы с компакт-диска.
Обычно, когда речь идет о серверах в сети, под сервером подразумевается компьютер, на котором хранится HTML-файл. Правильнее называть его веб-сервером. К самым популярным веб-серверам относятся Apache, управляемый операционными системами Unix/Linux или Mac OS X, и Microsoft Internet Information Services (IIS) под управлением Windows.
Помимо веб-серверов, для отправки динамических данных применяются и другие виды серверов, в частности, серверы баз данных (например, MySQL или Microsoft SQL Server) или серверы приложений. Сервер приложений выполняет серверные сценарии. ColdFusion, по существу, является сервером приложений. Сервер приложений, выполняющий сценарии ASP, встроен в IIS, то есть IIS – это гибрид веб-сервера и сервера приложений. PHP – это сервер приложений, который устанавливается в качестве модуля на сервер Apache.
Итак, существует несколько распространенных серверных языков. Это знание порождает логичный вопрос, естественный для тех, кто только начинает заниматься разработкой динамичных сайтов, а именно: "Какую серверную модель следует использовать?". В приведенном ниже списке описаны основные функции, а также "плюсы" и "минусы" каждой технологии.
В книге рассматривается классическая технология ASP (в дальнейшем просто ASP), ColdFusion и PHP. Но книга не посвящена именно ASP, ColdFusion и PHP. Она задумана как введение в принципы и практику разработки динамичных веб-сайтов, управляемых базами данных, при помощи Dreamweaver MX 2004 компании Macromedia. В ней приводится большое количество кода, описываются принципы кодирования, а также принципы работы с вложенными в Dreamweaver моделями поведения сервера, позволяющими ускорить и упростить процесс разработки. Книга учит объединять несколько технологий для создания
Подводя итоги краткого сравнительного анализа достоинств и недостатков различных серверных моделей, открою один секрет. Веб-разработчики редко имеют возможность самостоятельно решать, какую модель лучше использовать. В действительности, на выбор обычно влияют такие факторы, как доступная технология, бюджет проекта, технологии, которые уже используются на существующем сайте, а также навыки и опыт разработчиков. Таким образом, изучение какой-то одной технологии на практике является недопустимой роскошью, за исключением случаев работы в одной и той же организации в течение длительного времени. Так, начиная карьеру веб-разработчика, я одновременно учил ColdFusion и ASP, поскольку они требовались для различных проектов, над которыми я работал.
Не стоит опасаться перспективы одновременного изучения всех трех моделей. В большинстве случаев, если для обработки определенных выполняемых функций нужно добавить участок кода на ASP, то потребуется добавить эквивалентный участок для обработки таких же функций средствами ColdFusion или PHP. Самой сложной частью является не изучение синтаксиса разных типов кода, а понимание того, какие данные используются в коде, где именно они расположены и каким образом обрабатываются для получения нужного результата. Если все это четко различать, то синтаксис не представит особой сложности.
По этой причине ASP, ColdFusion и PHP описываются параллельно. Конечно, разрабатывать один и тот же сайт трижды, по отдельности для каждой серверной модели, не нужно, однако важно приложить усилия, чтобы понять все три фрагмента кода. Например, вместо того, чтобы при работе с ColdFusion пропускать код для ASP и PHP, следует уяснить, каким образом код на разных языках выполняет одни и те же вещи. Понимание того, как все три фрагмента кода выполняют одну и ту же задачу, заметно ускоряет процесс обучения
В частности, три приведенных ниже фрагмента кода выполняют одну и ту же задачу – отображение значения, которое пользователь вводит в поле "firstName", содержащееся в форме на XHTML-странице.
Для ASP:
<p> Thank you, <% Response.Write(Request.Form("firstName")) %>, for your submission.</p>
Для ColdFusion:
<p> Thank you, <cfoutput>#form.firstName#</cfoutput>, for your submission.</p>
Для PHP:
<p> Thank you, <? php echo $_POST[‘firstName’]; ?>, for your submission.</p>
Проведем сравнительный анализ приведенных трех участков кода и постараемся понять, что в них общего:
<% и %>, на ColdFusion – <cf[имя_тега]> и </cf[имя_тега]>, а на PHP – <?php и ?> ;Response.Write, на ColdFusion – <cfoutput>, а на PHP – echo ;firstName );POST ). На ASP – это Request.Form("firstName"), на ColdFusion – #form.firstName#, а на PHP – $_POST['firstName'] ;Запоминать этот код не требуется, так как его тестирование проводиться не будет, и в дальнейшем для практической работы с кодом будет достаточно много упражнений. Указанный код приводится для того, чтобы показать полную идентичность действий, которые осуществляются при выполнении этих фрагментов: все три запрашивают переменную формы с именем firstName, и помещают ее в строку обычного XHTML-кода. Следовательно, разница между этими фрагментами только формальная – это вопрос синтаксиса и поиска нужной информации в справочнике. А самая сложная часть – это, в первую очередь, понимание того, что можно взять введенное в форму значение и отправить его обратно вместе с обычным XHTML-кодом.
Таким же образом в книге параллельно приводятся все три вида кода. Каждый раз проводится анализ участков кода, в котором объясняется их предназначение. Достаточно проанализировать все три фрагмента и проследить, как в каждом из них определенным на конкретном языке способом выполняются функции, описанные в основном тексте.
Но прежде чем погружаться в код, следует настроить систему для разработки динамичного сайта.
Настройка Dreamweaver для работы с динамическими веб-сайтами является более трудоемкой, чем для работы со статичными. Для настройки сайта точно так же используется диалоговое окно Site Definition (Определение сайта). Регистрация динамического сайта осложняется внешними причинами, – для его разработки требуется доступ (и соответствующие права) на реальный веб-сервер, желательно с сервером приложений и базами данных.
Для многих это может оказаться непривычным делом, с которым они сталкиваются в первый раз. В прошлом сайты разрабатывались на жестком диске разработчика, а затем загружались на сервер для публикации. В случае с динамическими веб-сайтами, помимо разработки на локальном компьютере, требуется доступ на рабочий сервер. На общедоступный сервер сайт можно загружать только после того, как он будет протестирован и отлажен на рабочем сервере.
Серверы могут располагаться как на локальном, так и на удаленном компьютере (например, сервер в локальной сети или сервер интернет-провайдера, при работе с которым применяется протокол FTP). Соответственно, существует два варианта подключения к серверам.
При работе с локальным сервером нужно затратить некоторое время на настройку компьютера, следуя приведенным далее инструкциям. При работе с удаленным сервером настраивать компьютер не требуется, но необходима определенная информация от администратора сервера, позволяющая настроить Dreamweaver для дальнейшей работы.
В зависимости от того, какой вариант выбран, следует организовать работу в этом уроке тем или иным образом:
Разработка сайта на локальном сервере имеет свои преимущества и недостатки. Преимущества локальной разработки заключаются в следующем:
Теперь укажем основные недостатки локальной разработки:
Если принято решение разрабатывать сайт Newland Tours на локальном компьютере, следует выбрать одну из серверных моделей и соответствующим образом настроить систему. Далее приведены различные варианты настроек, каждый из которых соответствует определенной модели. По завершении следует перейти в раздел "Регистрация динамического сайта в Dreamweaver (всем пользователям)".
Пользователям, выбравшим ASP, необходимо убедиться, что на компьютере установлен и запущен сервер Internet Information Services (IIS). IIS поставляется бесплатно вместе в Windows 2000 и XP Pro.
Наличие установленного сервера IIS зависит от настроек, изначально выбранных при установке Windows. Для того чтобы это определить, следует открыть папку Control Panel (Панель управления) и активировать опцию Administrative Tools (Администрирование) (чтобы увидеть эту настройку, пользователям Windows XP следует переключиться в классический режим отображения Classic View). Если в окне присутствует значок Internet Information Services, следовательно, сервер уже установлен. Чтобы убедиться в том, что он запущен, следует дважды щелкнуть на значке и в левой части появившегося диалогового окна выбрать пункт Web Sites (Веб-сайты). В правой части окна отобразится пункт Default Web Site (Веб-сайт по умолчанию), напротив которого расположена надпись Running (Выполнение). Если напротив расположена надпись Stopped (Остановленный), следует щелкнуть на кнопке Start (Пуск), чтобы перезапустить его.

Для установки и запуска IIS нужно выполнить следующие шаги.
В течение нескольких минут Windows будет определять, какие компоненты уже установлены на компьютер. После того, как система сформирует профиль, откроется Windows Components Wizard (Мастер компонентов Windows).
Установка по умолчанию замечательно подойдет для наших целей, так что дополнительных настроек производить не требуется. После нажатия кнопки Next (Далее) Windows установит и запустит IIS.

Благодаря программе установки ColdFusion устанавливается на локальный компьютер довольно легко.
Через несколько секунд начнется установка.
В обоих разделах содержится важная информация, так что не стоит пропускать ее.
Вариант Developer Edition, предназначенный для разработчиков, является бесплатным и может применяться без ограничений во времени. Ключевое ограничение заключается в том, что установленный сервер может использоваться только на локальном компьютере. Это означает, что если пользователь на другом компьютере, подключенном к сети, предпримет попытку доступа к веб-странице, размещенной на сервере ColdFusion и созданной при помощи Developer Edition, пользователь на локальном компьютере увидит сообщение о том, что максимально допустимое количество IP-адресов исчерпано.
При установке версии для предприятий Enterprise Edition сервера ColdFusion, вводится серийный номер, а ограничение для одного компьютера снимается.

Два других варианта предназначены для установки ColdFusion поверх сервера J2EE.
На этом экране указан каталог, в котором предполагается установить ColdFusion.
ColdFusion не предназначен для выполнения роли веб-сервера, поскольку является сервером приложений. При публикации сайта эту роль выполняет другой сервер, в частности, IIS или Apache.
При разработке сайта реальный веб-сервер по тем или иным причинам может оказаться недоступным. Компания Macromedia таким образом сконфигурировала ColdFusion, чтобы в случае необходимости он мог выполнять роль веб-сервера. Для этого применяется встроенный веб-сервер (вариант Built-in web server [Встроенный веб-сервер]).
Если веб-сервер (к примеру, Apache или

Выбор варианта влияет на адреса страниц, разработанных в ColdFusion, – это важно при дальнейшей настройке Dreamweaver.
На одном из экранов потребуется указать пароль администратора. Этот пароль крайне важен. Он требуется для настройки сервера ColdFusion и для доступа к ColdFusion из Dreamweaver во время разработки сайта.
Процесс установки может занять несколько минут, после чего сервер ColdFusion будет запущен.
По завершении в браузере откроется страница администрирования ColdFusion. Настройки, производимые на странице, обрабатываются сервером ColdFusion. После входа в систему будет предложено ввести
Требуется нажать Next (Далее) еще несколько раз и подождать несколько минут, пока ColdFusion не завершит процесс установки. После вывода дампа в приложение администрирования ColdFusion установка будет завершена, после чего можно начинать разработку.
Пользователям Macintosh и Windows, не знакомым с Unix-системами, установка локальной среды на основе открытых программных продуктов Apache и PHP может показаться сложной и пугающе запутанной. Происходит это потому, что нередко встречается несколько версий одной и той же программы и несколько способов ее установки и настройки.
Но основная причина, по которой многие пользователи Windows и Macintosh избегают устанавливать Apache и PHP, заключается в непривычном способе взаимодействия с программой. В Windows и Mac OS взаимодействие пользователя с компьютером осуществляется при помощи диалоговых окон и Мастеров. Так, для установки IIS, используется диалоговое окно, запускаемое из Панели управления ( для Windows), а для настройки ColdFusion – специальная веб-страница, содержащая профессионально разработанные и документированные веб-формы для заполнения. Для настройки PHP, Apache и (в дальнейшем) MySQL требуется открывать и вручную редактировать текстовые файлы, разбросанные по
В разделе описывается установка как для Windows, так и для Mac OS, хотя описание имеет общий характер. Причина заключается в том, что с того времени, как писалась эта книга, шаги могли слегка измениться.
Сначала следует скачать последние версии веб-сервера Apache и программного модуля PHP, которые распространяются бесплатно. Поскольку работа PHP зависит от веб-сервера, в первую очередь нужно устанавливать Apache.
В процессе загрузки Apache, PHP или MySQL помимо указания операционной системы, обычно предлагается выбрать исходные или двоичные файлы для загрузки. Исходный файл содержит нескомпилированный код, являющийся основой для программы. Прежде чем устанавливать и использовать такие файлы, их следует скомпилировать, то есть преобразовать исходный код в комбинацию нулей и единиц, известную как двоичный код. Файл с двоичным кодом уже скомпилирован и готов к установке. В коммерческих продуктах (например, выпускаемых компаниями Microsoft или Macromedia) исходный код программ всегда держится в секрете, – так что используются только двоичные файлы. Преимущество исходного кода заключается в том, что его можно изменять. Тем не менее, предполагается, что технический уровень тех, кто читает эту книгу, не позволит им редактировать исходный код Apache или PHP. Вдобавок, исходный код требует преобразования в двоичный. Поэтому при работе с этой книгой рекомендуется выбрать самый легкий путь и просто загрузить двоичные файлы.
Чтобы загрузить и установить веб-сервер Apache для Windows, нужно придерживаться приведенных ниже инструкций.
Помимо веб-сервера, на сайте содержится множество полезных ресурсов для веб-разработчиков.
В момент написания этой книги номер самой последней версии был 2.0.47.
Приложение Apache для Windows упаковано в один установочный файл.
В момент написания этой книги размер этого двоичного файла составлял около 6 Мб.
Установочный файл расположен на жестком диске в папке, где он был сохранен в предыдущем шаге.
Все экраны в программе установки сервера Apache содержат подробное описание, кроме экрана Server Information (Информация о сервере). На нем указывается, каким образом разработчики и пользователи должны попадать на сервер. Если бы Apache устанавливался на сетевой сервер, пришлось бы указать имя компьютера и доменное имя, но поскольку он будет использоваться только на одном компьютере, достаточно ввести имя "localhost".

http://localhost/
Должна открыться показанная ниже страница.

Инсталляция PHP для Windows несколько сложнее, чем установка Apache, поскольку с файлами не поставляется программа установки. Вместо этого нужные файлы упакованы в zip-архив. После распаковки некоторые файлы следует вручную переместить в определенные места.
При использовании PHP версии 4.2 или выше, код работает, как описано в книге.
Например, в моем случае, PHP располагается по адресу C:\php-4.3.2-Win32. Позже расположение PHP потребуется указать, так что не следует забывать этот адрес.
Файл php.ini позволяет настраивать запуск PHP на компьютере – это основной файл настроек для PHP.
Теперь все файлы расположены должным образом. После этого нужно указать серверу Apache, где находится PHP.
В моем случае он расположен по адресу C:\Program Files\Apache Group\Apache2\conf\httpd.conf.
Этот файл играет ту же роль, что и файл php.ini для PHP: он позволяет конфигурировать Apache. При настройке большинства программ для Windows используются диалоговые окна, но в открытых программных проектах, работающих на основе Unix, пользователи обычно взаимодействуют с приложениями через текстовый файл.

LoadModule позволяет активировать на сервере Apache различные расширения (в том числе, и PHP).
Знак #, содержащийся в начале некоторых строк, служит для создания комментариев. Любые строки, перед которыми стоит знак #, будут проигнорированы интерпретатором (см. рис. вверху следующей страницы).
LoadModule php4_module c:/php-4.3.2-Win32/sapi/php4apache2.dll

К концу этого шага (вне зависимости от того, была ли в файле изначально строка LoadModule для PHP) в разделе LoadModule должна содержаться строка, приведенная выше, точно в таком же виде, за исключением номера версии, который мог измениться.
Чтобы изменения вступили в силу, следует перезапустить Apache.
При перезапуске сервера в диалоговом окне появится сообщение, подтверждающее перезапуск. Помимо этого, в левом нижнем углу диспетчера должна появиться надпись вида "Apache/2.0.46 (Win32) PHP/4.3.2". Эта информация подтверждает, что PHP успешно загружен (см. рис. вверху следующей страницы).
Локальная система настроена для запуска PHP на сервере Apache.

Начиная с версии операционной системы Mac OS X, Apache устанавливается по умолчанию, – так что здесь ничего устанавливать не нужно. Но поскольку по умолчанию работа веб-сервера Apache приостановлена, следует его включить.
Эта папка используется для управления доступом к файлам и принтерам с разных компьютеров в сети, для работы с веб-сервисами, FTP-доступом, брандмауэрами и т. д.

Выполнение указанных операций приведет к запуску Apache.

PHP так же, как и Apache, входит в состав инсталляционной версии Mac OS X, так что устанавливать его не требуется. Установленная на Mac OS X версия PHP не является последней (PHP 4.12). Чтобы загрузить и инсталлировать последнюю версию PHP, следует посетить сайт разработчиков Apple, упомянутый в последнем абзаце предыдущего раздела. Установка последней версии потребует дополнительных усилий, – к тому же для выполнения упражнений этой книги вполне достаточно предустановленной версии. Из всего приведенного в книге PHP-кода в этой версии не будет работать только одна строка, но для выполнения нужной функции есть простой обходной путь, который будет продемонстрирован в нужный момент.
Для использования PHP для Mac OS следует запустить его. Здесь недостаточно просто установить флажок, как при включении сервера, а необходимо ввести определенный код в файл настроек Apache – httpd.conf.
Обычно этот файл можно найти по адресу: /etc/httpd/httpd.conf.
LoadModule позволяет активировать на сервере Apache различные расширения (в том числе, и PHP).
Знак #, присутствующий в начале некоторых строк , служит для создания комментариев. Любые строки, перед которыми стоит знак #, будут проигнорированы интерпретатором.
LoadModule php4_module libexec/httpd/libphp4.so
Это одна из двух строк в файле httpd.conf , активирующих PHP на сервере Apache.

AddModule mod_php4.c
Строки, введенные на этом и предыдущем шагах, позволяют Apache получить достаточно информации для запуска PHP.

Обнаружить группу AddType несколько сложнее. Чтобы облегчить задачу, следует воспользоваться поиском и в качестве запроса указать текст комментария, расположенного над группой (текст приведен на рисунке).

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Эти две строки сообщают Apache, что следует просмотреть все файлы с расширением .php как PHP-файлы, а все файлы с расширением .phps как файлы с исходным кодом PHP. Сценарии, содержащиеся в файлах с исходным кодом PHP, не обрабатываются сервером, а отображаются с
Итак, настройка Apache для работы с PHP завершена. Однако прежде чем начинать работу, сервер следует перезапустить.
Теперь система настроена для выполнения и использования PHP-файлов.

Вариант с установкой и настройкой локального сервера подходит не для всех. Пользователи Macintosh, как правило, не имеют доступа к IIS или ColdFusion. К тому же, многие пользователи Windows и Macintosh, работающие в локальных сетях университетов или других учебных заведений и организаций, не имеют прав на установку и запуск веб-серверов, даже при наличии брандмауэра. Причиной подобных запретов является обеспечение безопасности. Веб-серверы требуют от администратора постоянного наблюдения и своевременной реакции на вирусы или прорехи в системе безопасности, наличие которой резко повышает вероятность взлома сетей. Чтобы предотвратить эту угрозу или, по крайней мере, снизить вероятность проникновения злоумышленников через систему безопасности, администраторы нередко запрещают пользователям устанавливать серверы.
При отсутствии доступа к локальному серверу очевидным решением становится использование другого рабочего сервера. Это может быть сервер, специально предназначенный для разработок (в университете у меня именно такой), или просто закрытая для общего доступа папка, которая расположена на веб-сервере для публикации. Для подключения к серверу используется соединение по сети или FTP-протокол. В любом случае для регистрации сайта в Dreamweaver требуется знать либо сетевой путь, либо параметры FTP-доступа, полученные от администратора сервера. На сервере должен быть установлен IIS (если применяется ASP), ColdFusion MX (если используется ColdFusion) или Apache, либо IIS с модулем PHP (если задействован PHP).
Помимо личной учетной записи и прав на добавление и удаление файлов и папок в ее рамках, требуются следующие данные от администратора сайта.
\\webdev.bigcompany.com\your_site\ \\serverName\your_site\
123.12.123.12 ), имя пользователя и пароль для доступа к учетной записи.Указанной информации достаточно для того, чтобы загружать файлы в эти папки. Но для просмотра содержимого сервера требуется другой URL-адрес. Обычно он выглядит следующим образом: http://webdev.bigcompany.com/your_site/ или http://serverName/your_site/. При открытии сайта для свободного доступа URL-адрес (согласно этому примеру) станет следующим: http://www.bigcompany.com/your_site/. Важно следить за тем, чтобы в URL-адресах содержался префикс http://. Информацию об адресах может предоставить только серверный администратор.
Вне зависимости от выбранной серверной модели, нужно зарегистрировать сайт в Dreamweaver. Этот процесс описан в последующих шагах. Для регистрации требуется доступ к полностью сконфигурированному веб-серверу с установленным и запущенным сервером приложений или модулем, который был выбран.
Следует помнить, что сайт Newland Tours уже зарегистрирован, поэтому не нужно начинать регистрацию с нуля. Достаточно добавить на сайт информацию об удаленном сервере (remote server) и сервере тестирования (testing server).
При использовании локальной версии IIS (поверх которой установлены ASP или ColdFusion) выберите в раскрывающемся списке Access (Доступ) вариант Local/Network (Локальная сеть). Щелкните на изображении папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\Inetpub\wwwroot\. Нажмите кнопку Add New Folder (Добавить новую папку), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.

При использовании локальной версии автономного веб-сервера ColdFusion, выберите в раскрывающемся списке Access (Доступ) вариант Local/Network (Локальная сеть). Щелкните на значке с изображением папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\CFusionMX\wwwroot\. Нажмите кнопку Add New Folder (Добавить новую папку), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.
При использовании локальной версии Apache в раскрывающемся списке Access (Доступ) выберите пункт Local/Network (Локальная сеть). Щелкните на значке с изображением папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\Program Files\Apache Group\ Apache2\htdocs (Windows) или HD:Library:WebServer:Documents (Macintosh). Нажмите кнопку Add New Folder (Добавить новую папку) (Windows) или New Folder (Создать папку) (Macintosh), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.
В случае применения сетевого сервера выберите в списке Access (Доступ) пункт Local/Network (Локальная сеть) и перейдите в папку сервера. Желательно, чтобы это происходило на подключенном сетевом диске. В диалоговом окне Choose Remote Folder (Выбор удаленной папки) создайте новую папку newland и укажите ее в качестве удаленной.
При использовании сервера с FTP-доступом убедитесь, что на сервере создана папка newland. Затем в диалоговом окне Site Definition (Определение сайта) в раскрывающемся списке Access (Доступ) выберите пункт FTP и в текстовое поле FTP Host (Узел FTP) введите IP-адрес или веб-адрес. В поле Host Directory (Каталог угла) введите путь к папке newland. В поля Login и Password введите логин и пароль. По завершении щелкните на кнопке Test (Проверить), чтобы убедиться в том, что все параметры введены правильно.
Для сайта Newland Tours удаленный сайт (Remote site) и сервер тестирования (Testing server), по сути, являются одним и тем же. Разница заключается в том, что удаленный сайт позволяет Dreamweaver сохранять файлы в соответствующей папке, а сервер тестирования – проверять файлы после их обработки сервером, тем самым, давая возможность убедиться в том, что они действительно являются работоспособными.
При использовании локального сервера IIS (для всех пользователей ASP и некоторые пользователей ColdFusion) следует ввести http://localhost/newland/.
Если применяется локальная версия ColdFusion (в виде автономного сервера без IIS), то необходимо ввести http://localhost:8500/newland/.
При использовании локальной версии Apache для Windows или Macintosh следует ввести http://localhost/newland/.

При использовании удаленного сервера через сеть или через FTP-протокол следует ввести адрес сервера, полученный от администратора сайта. Обычно он выглядит подобным образом: http://www.bigcompany.com/newland/.
URL-адрес должен начинаться с префикса http:// и не должен содержать букв, обозначающих диски (например, h:\ ). Помимо этого, следует обратить внимание на то, что в URL-адресах применятся прямой слэш ( / ), а не обратный ( \ ).
Повторная регистрация сайта проведена, и теперь он готов к работе.
При преобразовании статического сайта в динамический изменение расширений является необходимым условием, поскольку сервер использует их для того, чтобы определить, каким образом обрабатывать код страницы.

При изменении расширения страницы все ссылки, указывающие на нее, становятся неработоспособными. Обновление файлов позволяет Dreamweaver найти испорченные ссылки и исправить их.

В результате, весь сайт будет загружен в удаленную папку и на сервер тестирования.

Нажатие клавиши (F12) запускает тестирование работы сайта на сервере. Результаты проверки могут быть как негативными, так и вполне приятными. Если главная страница сайта Newland Tours отображается, то это означает, что сайт настроен правильно, и можно приступать к работе. Если появляется сообщение об ошибке или сайт не отображается должным образом, значит где-то допущена ошибка. В этом случае следует второй раз проверить правильность URL-адреса. Также при помощи менеджера файлов операционной системы следует проверить, действительно ли файлы загрузились на сайт. Если проблема не решена, необходимо обратиться за помощью к администратору сайта.

Если при тестировании сайта на удаленном сервере главная страница отобразилась в браузере должным образом, значит все настроено правильно. Тем не менее, действительно
Первым делом нужно создать страницу, на которой вводятся имена пользователей. Нажатие кнопки Submit, предназначенной для регистрации, переводит пользователя на другую страницу, где отобразится введенное им имя. Это приложение, конечно, не демонстрирует всех возможностей ASP, ColdFusion и PHP. Тем не менее, в нем представлены основные способы создания форм и обработки динамических данных, а также показаны различия между кодом, выполняемым на стороне клиента, и кодом, исполняемым на стороне сервера.
На этом шаге создается новая
При использовании ASP на страницу будет добавлена строка <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>. Эта строка определяет, какой язык применяется с ASP: VBScript или JScript. Для упражнений этой книги следует использовать VBScript. В ColdFusion, как и в PHP, употребляется только один язык для написания сценариев, – так что на новой странице ColdFusion или PHP подобных строк не будет.
Теперь на страницу будет добавлена основная форма.

Красной пунктирной линией обозначены границы формы. В браузере эта линия отображаться не будет, а здесь присутствует только для того, чтобы показать, где начинается и где заканчивается форма.
Форма на этом этапе еще не настроена и пока не выполняет никаких действий. Рядом с текстовым полем нет надписи, объясняющей назначение формы.
Если рядом с текстовыми полями не ставить надписей, никто не поймет, какую информацию в них следует вводить.
Вскоре это имя будет использовано для того, чтобы поместить введенное значение в сценарий ASP, ColdFusion или PHP. Рекомендуется всегда присваивать полям формы осмысленные имена. Написание кода и так достаточно трудоемкий процесс, поэтому не стоит дополнительно усложнять его, оставляя имена, которые Dreamweaver использует по умолчанию ( Textfield1, Textfield2, Textfield3 и т.д.).
Нажатие (Tab) или (Enter)/(Return) подтверждает те изменения, которые были выполнены на панели Property Inspector (Инспектор свойств).
<form#form1> , чтобы на панели инспектора свойств открыть свойства формы. Присвойте форме имя frm_name , а в текстовое поле Action (Действие) введите " test_form_processor.asp " (либо .cfm или .php ).В поле Action (Действие) указывается URL-адрес страницы (или другого ресурса), на которой хранится сценарий, обрабатывающий данные формы. В этом случае в поле указан несуществующий адрес, поскольку файл test_form_processor.asp ( .cfm или .php ) еще не был создан. В раскрывающемся поле со списком Method (Метод) должен быть выбран пункт POST. О методе POST будет рассказано в одном из следующих уроков.

Это одноразовый файл, который создается только для того, чтобы протестировать простую функцию динамичного сайта. В названии таких файлов, создаваемых для проверки, я часто использую префикс "test_". Это позволяет с легкостью найти и удалить их после окончания работы.
Страница ввода готова. Пора продемонстрировать, как ASP, ColdFusion или PHP могут собирать эту информацию, вставлять ее в обычный XHTML-код и возвращать браузеру.
Этот шаг повторяет действия, описанные на шаге 1 предыдущего упражнения.
В названиях страниц, используемых для обработки данных, я обычно добавляю суффикс "_processor". Созданная страница будет обрабатывать данные, введенные пользователем в форму.
"Thank you, , for filling out my form" ([Имя пользователя], мы признательны Вам за заполнение формы). Поместите курсор в любое место абзаца и в поле со списком Format (Формат) на панели Property Inspector (Инспектор свойств) выберите пункт Paragraph (Абзац).В итоге, текст будет выглядеть следующим образом: "Thank you, [имя пользователя], for filling out my form". Большая часть предложения представляет собой статический текст. К динамической части относится имя пользователя, которое будет извлечено из формы.
При выборе в раскрывающемся списке Format (Формат) пункта Paragraph (Абзац) строка текста помещается между тегами <p> и </p>.

Панель Bindings применяется для указания всех данных, которые доступны на странице. Эти данные, как правило, хранятся в виде пары "имя-значение". В данном случае имя – firstName. Значения еще не существует, и оно не появится до тех пор, пока кто-нибудь не заполнит форму. Следует также помнить, что значение попадает на страницу вывода из формы, расположенной на странице test_form.asp. Помимо форм к возможным источникам данных относятся URL-адреса, наборы записей (данные, полученные из базы данных), файлы cookie и т.д. О других источниках речь пойдет позже, а в этом упражнении данные поступают из формы.

На первом примере показано диалоговое окно Request Variable, которое отобразится при использовании ASP, а на втором – диалоговое окно Form Variable, которое увидят пользователи ColdFusion и PHP.


Панель Bindings (Привязки) будет обновлена, и в ней отобразится переменная firstName. На примере показано, как выглядит панель Bindings при использовании ASP. В случае с ColdFusion и PHP она несколько отличается (вместо слова Request [Запрос] используется слово Form [Форма], а надпись Form.firstName заменяется надписью firstName).

Если взглянуть на код, окажется, что документ совсем не изменился, то есть код остался прежним, как и до открытия панели Bindings. Цель действий заключалась в том, чтобы при помощи графического интерфейса сообщить Dreamweaver, как написать блок динамического кода.
В начале урока, один за другим, было приведено три фрагмента кода (на ASP, ColdFusion и PHP). В коде была указана переменная ( firstName ), ее источник (форма) и действия, которые с ней следует предпринять (вывести в XHTML). Действия, выполненные с помощью панели Bindings (Привязки), реализовали эту логическую взаимосвязь в том виде, который Dreamweaver способен понять и преобразовать в код.
В случае с ASP определена переменная запроса (Request Variable). В ASP объект Request применяется для получения информации из заданного места. В диалоговом окне выбран тип Request.Form, дающий указание искать в объекте Request переменную, которая задается через форму. Наконец, указано имя самой переменной. Образно говоря, Dreamweaver и ASP приобрели "дорожную карту", с помощью которой можно найти значение переменной firstName.
В случае с ColdFusion и PHP определена переменная формы (Form Variable), которой достаточно для
К этому моменту Dreamweaver располагает исчерпывающей информацией о том, как найти переменную. Но программа еще не получала ни указания искать ее, ни инструкций по обработке значения переменной после того, как она будет найдена.
На странице между запятыми появится надпись {Form.firstName}, выделенная синим цветом. В Dreamweaver синим цветом обозначается текст, относящийся к динамическому содержимому. При просмотре страницы в браузере синий цвет показан не будет. Не будет отображаться и надпись {Form.firstName}, вместо нее отобразится имя пользователя.

{Form.firstName} внешне напоминает код, но на самом деле является псевдокодом. Внешний вид надписи не зависит от серверной модели. Возможно, псевдокод применяется для того, чтобы указать, какая часть страницы относится к динамическому содержимому. Главное – не пытаться использовать этот синтаксис при написании кода.В действительности, на страницу будет добавлен следующий код: <%= Request.Form("firstName") %> (ASP), <cfoutput>#form.firstName#</cfoutput> (ColdFusion) или <? php echo $_POST['firstName']; ?> (PHP). Это те же фрагменты кода, которые демонстрировались в начале урока, с небольшим изменением в коде ASP.
Для того чтобы сервер IIS вывел значение на страницу, используется объект Response (Отклик). Чаще всего, объект Response используется в виде Response.Write(). Эта команда указывает IIS вставить в документ текст, расположенный внутри скобок. Функция Response.Write() эквивалентна (с небольшими отличиями) <cfoutput> или echo. Она настолько часто применяется, что имеет и сокращенный вариант. Сочетание <%= (вместо <% ) в начале ASP-кода означает <% Response.Write(). Другими словами, две строки кода, приведенные ниже, абсолютно равнозначны.
<% Response.Write(Request.Form("firstName")) %>
<%= Request.Form("firstName") %>
Итак, в двух предыдущих шагах при помощи кнопки со знаком плюс "+", расположенной на панели Bindings (привязки), была добавлена информация для Dreamweaver и ASP (Dreamweaver и ColdFusion, Dreamweaver и PHP) о том, как найти переменную firstName. Затем переменная была прикреплена на страницу, благодаря чему ASP, ColdFusion или PHP получили информацию о том, как найти и отобразить ее текущее значение.
Пока сайт не запущен на сервере, протестировать его невозможно. Поэтому для того, чтобы выполнить проверку сайта, следует загрузить (или поместить) файлы на сервер.
Загрузится страница test_form_processor.asp, и введенное в форму имя отобразится на экране.

Интересно, что динамический код был полностью удален! Код страницы представляет собой статический XHTML. Даже имя, относящееся к динамической части надписи, выглядит так, словно изначально записывалось в виде статического кода. Но это, конечно, не так.

Беглый анализ кода приводит к пониманию важного принципа. Код, вводимый в Dreamweaver, отличается от кода страницы, которую пользователь видит в браузере (даже несмотря на то, что у обеих страниц одно и то же имя – и, конечно, много других общих свойств).
Разница между двумя версиями страницы возникает вследствие того, что код исходной страницы (ASP, ColdFusion или PHP) обрабатывается, а затем заменяется XHTML-кодом полученных значений.
Два варианта страницы имеют и некоторые сходные черты. Весь стандартный XHTML-код исходной страницы (в том числе, теги <body> и <p>, а также большая часть текста) остался неизменным в ее итоговой версии.
В этом уроке вы узнали:
В процессе совершенствования сайта Newland Tours достигнут важный результат. Произведена модернизация сайта до XHTML, удален неэффективный код, влияющий на внешний вид. Помимо этого, создана каскадная таблица стилей для всего сайта, разработан шаблон страниц и улучшена навигационная схема сайта. При просмотре сайта в браузере практически не заметно, что мы занимались его усовершенствованием на протяжении первых трех уроков. Все существенные изменения не отображаются на экране, тем не менее, по своей структуре и стилю сайт стал соответствовать стандартам, поэтому его в дальнейшем довольно легко поддерживать в работоспособном состоянии.
(рис 4.1) При разработке динамических приложений нередко в обычный текст добавляются заменители переменныхВ этом уроке перейдем от разработки обычных статичных веб-сайтов к созданию интерактивных динамических сайтов, управляемых базами данных. Прежде чем начинать работу, следует ознакомиться с некоторыми теоретическими и техническими аспектами данного раздела. В этом уроке будут рассмотрены механизмы работы динамических сайтов и цели, с которыми они создаются. Будет проведена настройка Dreamweaver для работы с динамическими данными и создана первая страница, с динамическим контентом.
Что будет изучаться:
Время выполнения
На выполнение этого урока потребуется примерно 1 час.
Файлы урока
Исходные файлы:
Lesson04/Start/newland/about.htm
Lesson04/Start/newland/contact.htm
Lesson04/Start/newland/css/newland.css
Lesson04/Start/newland/generic_template.htm
Lesson04/Start/newland/index.htm
Lesson04/Start/newland/profiles.htm
Lesson04/Start/newland/tours.htm
Итоговые файлы:
Lesson04/Complete/newland-asp/about.asp
Lesson04/Complete/newland-asp/contact.asp
Lesson04/Complete/newland-asp/css/newland.css
Lesson04/Complete/newland-asp/generic_template.asp
Lesson04/Complete/newland-asp/index.asp
Lesson04/Complete/newland-asp/profiles.asp
Lesson04/Complete/newland-asp/test_form.asp
Lesson04/Complete/newland-asp/test_form_processor.asp
Lesson04/Complete/newland-asp/tours.asp
Если на мгновение отвлечься от особенностей сайта Newland Tours, описанных в предыдущих уроках, будет легко понять ряд принципов, которые важны для разработки динамического сайта. Один из них – это отделение структурной разметки от дизайна. К этому моменту за структурную разметку страниц отвечает XHTML-код, а за их внешний вид – каскадные таблицы стилей. Другой принцип – сочетание двух различных типов документов (HTML-страницы и CSS-файла), в результате чего появляется новый документ, непохожий на исходные. Эти принципы являются системообразующими при разработке динамичных веб-сайтов.
Для того чтобы понять это взаимодействие и подготовиться к будущим заданиям, уделим время анализу отношений между тремя различными источниками информации, из которых формируется каждая веб-страница: контентом (текстом, картинками и т.д.), логической структурой (иерархическим построением элементов структуры документа, например, заголовками и обычным текстом) и оформлением (цветом, размером шрифтов, расположением и другими визуальными эффектами).
В ранних версиях HTML текст, разметка и код внешнего вида содержались в HTML-документе. Другими словами, на жестком диске разработчика и в браузере пользователя документ выглядел одинаково. Эта простая взаимосвязь отображена на первой схеме вверху следующей страницы.
В результате изменений, проведенных в уроках 2 и 3, взаимосвязь изменилась, а конкретно, внешний вид документа был отделен от его структуры и контента. Информация о внешнем виде теперь содержится в CSS-файле. Содержимое документа расположено в виде текста внутри разметки XHTML, отображающей логическую структуру документа. Только при объединении XHTML- и CSS-документов формируется итоговая страница. Эта новая взаимосвязь представлена на второй схеме вверху следующей страницы.

Теперь в эту взаимосвязь будет добавлен еще один уровень, еще мощнее и значимее, чем переход от HTML к XHTML и CSS. Его суть заключается в том, что при добавлении на страницу сведений из базы данных, оно отделяется от структурных компонентов документа. Это означает, что все три уровня – внешний вид, логическая структура и контент – становятся практически независимыми друг от друга, то есть при существенном изменении на одном из уровней не требуется вносить правки на других. Взаимосвязь (и основной план для всей книги) представлена на схеме вверху следующей страницы.
HTML не позволяет отделить контент от логической структуры документа. Даже в ключевой пятой версии (XHTML 1) язык разметки HTML, в значительной мере, предназначен для разметки открытого текста. Он не может выполнять сценарии, вычислять значения выражений, производить математические расчеты, взаимодействовать с базой данных или обмениваться с пользователем информацией. Тем временем, для отделения логической структуры от контента порой необходимо использовать все эти возможности и даже больше. Для выполнения всех этих задач с помощью HTML требуются дополнительные средства, и для этого идеально подходят технологии, выполняемые на стороне сервера – Microsoft ASP, Macromedia ColdFusion MX и PHP.

Серверные технологии (ASP, ColdFusion, PHP и другие, к примеру,
Но здесь есть одна загвоздка. Браузеры могут обрабатывать только HTML, CSS и JavaScript, а серверные сценарии они не способны обрабатывать (под серверными сценариями подразумевается код, написанный на ASP, ColdFusion, PHP и т. п.). Поэтому серверные сценарии выполняются на сервере, а затем пересылаются браузеру. Все, что сервер отправляет браузеру, должно быть предварительно преобразовано в стандартный HTML-код.
Проще говоря, для того чтобы страница с динамическим содержимым отобразилась в браузере, следует запустить ее на сервере, способном выполнить код. Это и есть главное отличие от стандартных HTML-страниц, которые отображаются в браузере, независимо от их расположения. Если открыть в Internet Explorer или Netscape любую HTML-страницу из папки , а не файлы с компакт-диска.
Обычно, когда речь идет о серверах в сети, под сервером подразумевается компьютер, на котором хранится HTML-файл. Правильнее называть его веб-сервером. К самым популярным веб-серверам относятся Apache, управляемый операционными системами Unix/Linux или Mac OS X, и Microsoft Internet Information Services (IIS) под управлением Windows.
Помимо веб-серверов, для отправки динамических данных применяются и другие виды серверов, в частности, серверы баз данных (например, MySQL или Microsoft SQL Server) или серверы приложений. Сервер приложений выполняет серверные сценарии. ColdFusion, по существу, является сервером приложений. Сервер приложений, выполняющий сценарии ASP, встроен в IIS, то есть IIS – это гибрид веб-сервера и сервера приложений. PHP – это сервер приложений, который устанавливается в качестве модуля на сервер Apache.
Итак, существует несколько распространенных серверных языков. Это знание порождает логичный вопрос, естественный для тех, кто только начинает заниматься разработкой динамичных сайтов, а именно: "Какую серверную модель следует использовать?". В приведенном ниже списке описаны основные функции, а также "плюсы" и "минусы" каждой технологии.
В книге рассматривается классическая технология ASP (в дальнейшем просто ASP), ColdFusion и PHP. Но книга не посвящена именно ASP, ColdFusion и PHP. Она задумана как введение в принципы и практику разработки динамичных веб-сайтов, управляемых базами данных, при помощи Dreamweaver MX 2004 компании Macromedia. В ней приводится большое количество кода, описываются принципы кодирования, а также принципы работы с вложенными в Dreamweaver моделями поведения сервера, позволяющими ускорить и упростить процесс разработки. Книга учит объединять несколько технологий для создания
Подводя итоги краткого сравнительного анализа достоинств и недостатков различных серверных моделей, открою один секрет. Веб-разработчики редко имеют возможность самостоятельно решать, какую модель лучше использовать. В действительности, на выбор обычно влияют такие факторы, как доступная технология, бюджет проекта, технологии, которые уже используются на существующем сайте, а также навыки и опыт разработчиков. Таким образом, изучение какой-то одной технологии на практике является недопустимой роскошью, за исключением случаев работы в одной и той же организации в течение длительного времени. Так, начиная карьеру веб-разработчика, я одновременно учил ColdFusion и ASP, поскольку они требовались для различных проектов, над которыми я работал.
Не стоит опасаться перспективы одновременного изучения всех трех моделей. В большинстве случаев, если для обработки определенных выполняемых функций нужно добавить участок кода на ASP, то потребуется добавить эквивалентный участок для обработки таких же функций средствами ColdFusion или PHP. Самой сложной частью является не изучение синтаксиса разных типов кода, а понимание того, какие данные используются в коде, где именно они расположены и каким образом обрабатываются для получения нужного результата. Если все это четко различать, то синтаксис не представит особой сложности.
По этой причине ASP, ColdFusion и PHP описываются параллельно. Конечно, разрабатывать один и тот же сайт трижды, по отдельности для каждой серверной модели, не нужно, однако важно приложить усилия, чтобы понять все три фрагмента кода. Например, вместо того, чтобы при работе с ColdFusion пропускать код для ASP и PHP, следует уяснить, каким образом код на разных языках выполняет одни и те же вещи. Понимание того, как все три фрагмента кода выполняют одну и ту же задачу, заметно ускоряет процесс обучения
В частности, три приведенных ниже фрагмента кода выполняют одну и ту же задачу – отображение значения, которое пользователь вводит в поле "firstName", содержащееся в форме на XHTML-странице.
Для ASP:
<p> Thank you, <% Response.Write(Request.Form("firstName")) %>, for your submission.</p>
Для ColdFusion:
<p> Thank you, <cfoutput>#form.firstName#</cfoutput>, for your submission.</p>
Для PHP:
<p> Thank you, <? php echo $_POST[‘firstName’]; ?>, for your submission.</p>
Проведем сравнительный анализ приведенных трех участков кода и постараемся понять, что в них общего:
<% и %>, на ColdFusion – <cf[имя_тега]> и </cf[имя_тега]>, а на PHP – <?php и ?> ;Response.Write, на ColdFusion – <cfoutput>, а на PHP – echo ;firstName );POST ). На ASP – это Request.Form("firstName"), на ColdFusion – #form.firstName#, а на PHP – $_POST['firstName'] ;Запоминать этот код не требуется, так как его тестирование проводиться не будет, и в дальнейшем для практической работы с кодом будет достаточно много упражнений. Указанный код приводится для того, чтобы показать полную идентичность действий, которые осуществляются при выполнении этих фрагментов: все три запрашивают переменную формы с именем firstName, и помещают ее в строку обычного XHTML-кода. Следовательно, разница между этими фрагментами только формальная – это вопрос синтаксиса и поиска нужной информации в справочнике. А самая сложная часть – это, в первую очередь, понимание того, что можно взять введенное в форму значение и отправить его обратно вместе с обычным XHTML-кодом.
Таким же образом в книге параллельно приводятся все три вида кода. Каждый раз проводится анализ участков кода, в котором объясняется их предназначение. Достаточно проанализировать все три фрагмента и проследить, как в каждом из них определенным на конкретном языке способом выполняются функции, описанные в основном тексте.
Но прежде чем погружаться в код, следует настроить систему для разработки динамичного сайта.
Настройка Dreamweaver для работы с динамическими веб-сайтами является более трудоемкой, чем для работы со статичными. Для настройки сайта точно так же используется диалоговое окно Site Definition (Определение сайта). Регистрация динамического сайта осложняется внешними причинами, – для его разработки требуется доступ (и соответствующие права) на реальный веб-сервер, желательно с сервером приложений и базами данных.
Для многих это может оказаться непривычным делом, с которым они сталкиваются в первый раз. В прошлом сайты разрабатывались на жестком диске разработчика, а затем загружались на сервер для публикации. В случае с динамическими веб-сайтами, помимо разработки на локальном компьютере, требуется доступ на рабочий сервер. На общедоступный сервер сайт можно загружать только после того, как он будет протестирован и отлажен на рабочем сервере.
Серверы могут располагаться как на локальном, так и на удаленном компьютере (например, сервер в локальной сети или сервер интернет-провайдера, при работе с которым применяется протокол FTP). Соответственно, существует два варианта подключения к серверам.
При работе с локальным сервером нужно затратить некоторое время на настройку компьютера, следуя приведенным далее инструкциям. При работе с удаленным сервером настраивать компьютер не требуется, но необходима определенная информация от администратора сервера, позволяющая настроить Dreamweaver для дальнейшей работы.
В зависимости от того, какой вариант выбран, следует организовать работу в этом уроке тем или иным образом:
Разработка сайта на локальном сервере имеет свои преимущества и недостатки. Преимущества локальной разработки заключаются в следующем:
Теперь укажем основные недостатки локальной разработки:
Если принято решение разрабатывать сайт Newland Tours на локальном компьютере, следует выбрать одну из серверных моделей и соответствующим образом настроить систему. Далее приведены различные варианты настроек, каждый из которых соответствует определенной модели. По завершении следует перейти в раздел "Регистрация динамического сайта в Dreamweaver (всем пользователям)".
Пользователям, выбравшим ASP, необходимо убедиться, что на компьютере установлен и запущен сервер Internet Information Services (IIS). IIS поставляется бесплатно вместе в Windows 2000 и XP Pro.
Наличие установленного сервера IIS зависит от настроек, изначально выбранных при установке Windows. Для того чтобы это определить, следует открыть папку Control Panel (Панель управления) и активировать опцию Administrative Tools (Администрирование) (чтобы увидеть эту настройку, пользователям Windows XP следует переключиться в классический режим отображения Classic View). Если в окне присутствует значок Internet Information Services, следовательно, сервер уже установлен. Чтобы убедиться в том, что он запущен, следует дважды щелкнуть на значке и в левой части появившегося диалогового окна выбрать пункт Web Sites (Веб-сайты). В правой части окна отобразится пункт Default Web Site (Веб-сайт по умолчанию), напротив которого расположена надпись Running (Выполнение). Если напротив расположена надпись Stopped (Остановленный), следует щелкнуть на кнопке Start (Пуск), чтобы перезапустить его.

Для установки и запуска IIS нужно выполнить следующие шаги.
В течение нескольких минут Windows будет определять, какие компоненты уже установлены на компьютер. После того, как система сформирует профиль, откроется Windows Components Wizard (Мастер компонентов Windows).
Установка по умолчанию замечательно подойдет для наших целей, так что дополнительных настроек производить не требуется. После нажатия кнопки Next (Далее) Windows установит и запустит IIS.

Благодаря программе установки ColdFusion устанавливается на локальный компьютер довольно легко.
Через несколько секунд начнется установка.
В обоих разделах содержится важная информация, так что не стоит пропускать ее.
Вариант Developer Edition, предназначенный для разработчиков, является бесплатным и может применяться без ограничений во времени. Ключевое ограничение заключается в том, что установленный сервер может использоваться только на локальном компьютере. Это означает, что если пользователь на другом компьютере, подключенном к сети, предпримет попытку доступа к веб-странице, размещенной на сервере ColdFusion и созданной при помощи Developer Edition, пользователь на локальном компьютере увидит сообщение о том, что максимально допустимое количество IP-адресов исчерпано.
При установке версии для предприятий Enterprise Edition сервера ColdFusion, вводится серийный номер, а ограничение для одного компьютера снимается.

Два других варианта предназначены для установки ColdFusion поверх сервера J2EE.
На этом экране указан каталог, в котором предполагается установить ColdFusion.
ColdFusion не предназначен для выполнения роли веб-сервера, поскольку является сервером приложений. При публикации сайта эту роль выполняет другой сервер, в частности, IIS или Apache.
При разработке сайта реальный веб-сервер по тем или иным причинам может оказаться недоступным. Компания Macromedia таким образом сконфигурировала ColdFusion, чтобы в случае необходимости он мог выполнять роль веб-сервера. Для этого применяется встроенный веб-сервер (вариант Built-in web server [Встроенный веб-сервер]).
Если веб-сервер (к примеру, Apache или

Выбор варианта влияет на адреса страниц, разработанных в ColdFusion, – это важно при дальнейшей настройке Dreamweaver.
На одном из экранов потребуется указать пароль администратора. Этот пароль крайне важен. Он требуется для настройки сервера ColdFusion и для доступа к ColdFusion из Dreamweaver во время разработки сайта.
Процесс установки может занять несколько минут, после чего сервер ColdFusion будет запущен.
По завершении в браузере откроется страница администрирования ColdFusion. Настройки, производимые на странице, обрабатываются сервером ColdFusion. После входа в систему будет предложено ввести
Требуется нажать Next (Далее) еще несколько раз и подождать несколько минут, пока ColdFusion не завершит процесс установки. После вывода дампа в приложение администрирования ColdFusion установка будет завершена, после чего можно начинать разработку.
Пользователям Macintosh и Windows, не знакомым с Unix-системами, установка локальной среды на основе открытых программных продуктов Apache и PHP может показаться сложной и пугающе запутанной. Происходит это потому, что нередко встречается несколько версий одной и той же программы и несколько способов ее установки и настройки.
Но основная причина, по которой многие пользователи Windows и Macintosh избегают устанавливать Apache и PHP, заключается в непривычном способе взаимодействия с программой. В Windows и Mac OS взаимодействие пользователя с компьютером осуществляется при помощи диалоговых окон и Мастеров. Так, для установки IIS, используется диалоговое окно, запускаемое из Панели управления ( для Windows), а для настройки ColdFusion – специальная веб-страница, содержащая профессионально разработанные и документированные веб-формы для заполнения. Для настройки PHP, Apache и (в дальнейшем) MySQL требуется открывать и вручную редактировать текстовые файлы, разбросанные по
В разделе описывается установка как для Windows, так и для Mac OS, хотя описание имеет общий характер. Причина заключается в том, что с того времени, как писалась эта книга, шаги могли слегка измениться.
Сначала следует скачать последние версии веб-сервера Apache и программного модуля PHP, которые распространяются бесплатно. Поскольку работа PHP зависит от веб-сервера, в первую очередь нужно устанавливать Apache.
В процессе загрузки Apache, PHP или MySQL помимо указания операционной системы, обычно предлагается выбрать исходные или двоичные файлы для загрузки. Исходный файл содержит нескомпилированный код, являющийся основой для программы. Прежде чем устанавливать и использовать такие файлы, их следует скомпилировать, то есть преобразовать исходный код в комбинацию нулей и единиц, известную как двоичный код. Файл с двоичным кодом уже скомпилирован и готов к установке. В коммерческих продуктах (например, выпускаемых компаниями Microsoft или Macromedia) исходный код программ всегда держится в секрете, – так что используются только двоичные файлы. Преимущество исходного кода заключается в том, что его можно изменять. Тем не менее, предполагается, что технический уровень тех, кто читает эту книгу, не позволит им редактировать исходный код Apache или PHP. Вдобавок, исходный код требует преобразования в двоичный. Поэтому при работе с этой книгой рекомендуется выбрать самый легкий путь и просто загрузить двоичные файлы.
Чтобы загрузить и установить веб-сервер Apache для Windows, нужно придерживаться приведенных ниже инструкций.
Помимо веб-сервера, на сайте содержится множество полезных ресурсов для веб-разработчиков.
В момент написания этой книги номер самой последней версии был 2.0.47.
Приложение Apache для Windows упаковано в один установочный файл.
В момент написания этой книги размер этого двоичного файла составлял около 6 Мб.
Установочный файл расположен на жестком диске в папке, где он был сохранен в предыдущем шаге.
Все экраны в программе установки сервера Apache содержат подробное описание, кроме экрана Server Information (Информация о сервере). На нем указывается, каким образом разработчики и пользователи должны попадать на сервер. Если бы Apache устанавливался на сетевой сервер, пришлось бы указать имя компьютера и доменное имя, но поскольку он будет использоваться только на одном компьютере, достаточно ввести имя "localhost".

http://localhost/
Должна открыться показанная ниже страница.

Инсталляция PHP для Windows несколько сложнее, чем установка Apache, поскольку с файлами не поставляется программа установки. Вместо этого нужные файлы упакованы в zip-архив. После распаковки некоторые файлы следует вручную переместить в определенные места.
При использовании PHP версии 4.2 или выше, код работает, как описано в книге.
Например, в моем случае, PHP располагается по адресу C:\php-4.3.2-Win32. Позже расположение PHP потребуется указать, так что не следует забывать этот адрес.
Файл php.ini позволяет настраивать запуск PHP на компьютере – это основной файл настроек для PHP.
Теперь все файлы расположены должным образом. После этого нужно указать серверу Apache, где находится PHP.
В моем случае он расположен по адресу C:\Program Files\Apache Group\Apache2\conf\httpd.conf.
Этот файл играет ту же роль, что и файл php.ini для PHP: он позволяет конфигурировать Apache. При настройке большинства программ для Windows используются диалоговые окна, но в открытых программных проектах, работающих на основе Unix, пользователи обычно взаимодействуют с приложениями через текстовый файл.

LoadModule позволяет активировать на сервере Apache различные расширения (в том числе, и PHP).
Знак #, содержащийся в начале некоторых строк, служит для создания комментариев. Любые строки, перед которыми стоит знак #, будут проигнорированы интерпретатором (см. рис. вверху следующей страницы).
LoadModule php4_module c:/php-4.3.2-Win32/sapi/php4apache2.dll

К концу этого шага (вне зависимости от того, была ли в файле изначально строка LoadModule для PHP) в разделе LoadModule должна содержаться строка, приведенная выше, точно в таком же виде, за исключением номера версии, который мог измениться.
Чтобы изменения вступили в силу, следует перезапустить Apache.
При перезапуске сервера в диалоговом окне появится сообщение, подтверждающее перезапуск. Помимо этого, в левом нижнем углу диспетчера должна появиться надпись вида "Apache/2.0.46 (Win32) PHP/4.3.2". Эта информация подтверждает, что PHP успешно загружен (см. рис. вверху следующей страницы).
Локальная система настроена для запуска PHP на сервере Apache.

Начиная с версии операционной системы Mac OS X, Apache устанавливается по умолчанию, – так что здесь ничего устанавливать не нужно. Но поскольку по умолчанию работа веб-сервера Apache приостановлена, следует его включить.
Эта папка используется для управления доступом к файлам и принтерам с разных компьютеров в сети, для работы с веб-сервисами, FTP-доступом, брандмауэрами и т. д.

Выполнение указанных операций приведет к запуску Apache.

PHP так же, как и Apache, входит в состав инсталляционной версии Mac OS X, так что устанавливать его не требуется. Установленная на Mac OS X версия PHP не является последней (PHP 4.12). Чтобы загрузить и инсталлировать последнюю версию PHP, следует посетить сайт разработчиков Apple, упомянутый в последнем абзаце предыдущего раздела. Установка последней версии потребует дополнительных усилий, – к тому же для выполнения упражнений этой книги вполне достаточно предустановленной версии. Из всего приведенного в книге PHP-кода в этой версии не будет работать только одна строка, но для выполнения нужной функции есть простой обходной путь, который будет продемонстрирован в нужный момент.
Для использования PHP для Mac OS следует запустить его. Здесь недостаточно просто установить флажок, как при включении сервера, а необходимо ввести определенный код в файл настроек Apache – httpd.conf.
Обычно этот файл можно найти по адресу: /etc/httpd/httpd.conf.
LoadModule позволяет активировать на сервере Apache различные расширения (в том числе, и PHP).
Знак #, присутствующий в начале некоторых строк , служит для создания комментариев. Любые строки, перед которыми стоит знак #, будут проигнорированы интерпретатором.
LoadModule php4_module libexec/httpd/libphp4.so
Это одна из двух строк в файле httpd.conf , активирующих PHP на сервере Apache.

AddModule mod_php4.c
Строки, введенные на этом и предыдущем шагах, позволяют Apache получить достаточно информации для запуска PHP.

Обнаружить группу AddType несколько сложнее. Чтобы облегчить задачу, следует воспользоваться поиском и в качестве запроса указать текст комментария, расположенного над группой (текст приведен на рисунке).

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Эти две строки сообщают Apache, что следует просмотреть все файлы с расширением .php как PHP-файлы, а все файлы с расширением .phps как файлы с исходным кодом PHP. Сценарии, содержащиеся в файлах с исходным кодом PHP, не обрабатываются сервером, а отображаются с
Итак, настройка Apache для работы с PHP завершена. Однако прежде чем начинать работу, сервер следует перезапустить.
Теперь система настроена для выполнения и использования PHP-файлов.

Вариант с установкой и настройкой локального сервера подходит не для всех. Пользователи Macintosh, как правило, не имеют доступа к IIS или ColdFusion. К тому же, многие пользователи Windows и Macintosh, работающие в локальных сетях университетов или других учебных заведений и организаций, не имеют прав на установку и запуск веб-серверов, даже при наличии брандмауэра. Причиной подобных запретов является обеспечение безопасности. Веб-серверы требуют от администратора постоянного наблюдения и своевременной реакции на вирусы или прорехи в системе безопасности, наличие которой резко повышает вероятность взлома сетей. Чтобы предотвратить эту угрозу или, по крайней мере, снизить вероятность проникновения злоумышленников через систему безопасности, администраторы нередко запрещают пользователям устанавливать серверы.
При отсутствии доступа к локальному серверу очевидным решением становится использование другого рабочего сервера. Это может быть сервер, специально предназначенный для разработок (в университете у меня именно такой), или просто закрытая для общего доступа папка, которая расположена на веб-сервере для публикации. Для подключения к серверу используется соединение по сети или FTP-протокол. В любом случае для регистрации сайта в Dreamweaver требуется знать либо сетевой путь, либо параметры FTP-доступа, полученные от администратора сервера. На сервере должен быть установлен IIS (если применяется ASP), ColdFusion MX (если используется ColdFusion) или Apache, либо IIS с модулем PHP (если задействован PHP).
Помимо личной учетной записи и прав на добавление и удаление файлов и папок в ее рамках, требуются следующие данные от администратора сайта.
\\webdev.bigcompany.com\your_site\ \\serverName\your_site\
123.12.123.12 ), имя пользователя и пароль для доступа к учетной записи.Указанной информации достаточно для того, чтобы загружать файлы в эти папки. Но для просмотра содержимого сервера требуется другой URL-адрес. Обычно он выглядит следующим образом: http://webdev.bigcompany.com/your_site/ или http://serverName/your_site/. При открытии сайта для свободного доступа URL-адрес (согласно этому примеру) станет следующим: http://www.bigcompany.com/your_site/. Важно следить за тем, чтобы в URL-адресах содержался префикс http://. Информацию об адресах может предоставить только серверный администратор.
Вне зависимости от выбранной серверной модели, нужно зарегистрировать сайт в Dreamweaver. Этот процесс описан в последующих шагах. Для регистрации требуется доступ к полностью сконфигурированному веб-серверу с установленным и запущенным сервером приложений или модулем, который был выбран.
Следует помнить, что сайт Newland Tours уже зарегистрирован, поэтому не нужно начинать регистрацию с нуля. Достаточно добавить на сайт информацию об удаленном сервере (remote server) и сервере тестирования (testing server).
При использовании локальной версии IIS (поверх которой установлены ASP или ColdFusion) выберите в раскрывающемся списке Access (Доступ) вариант Local/Network (Локальная сеть). Щелкните на изображении папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\Inetpub\wwwroot\. Нажмите кнопку Add New Folder (Добавить новую папку), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.

При использовании локальной версии автономного веб-сервера ColdFusion, выберите в раскрывающемся списке Access (Доступ) вариант Local/Network (Локальная сеть). Щелкните на значке с изображением папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\CFusionMX\wwwroot\. Нажмите кнопку Add New Folder (Добавить новую папку), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.
При использовании локальной версии Apache в раскрывающемся списке Access (Доступ) выберите пункт Local/Network (Локальная сеть). Щелкните на значке с изображением папки справа от поля Remote folder (Удаленная папка) и перейдите в папку C:\Program Files\Apache Group\ Apache2\htdocs (Windows) или HD:Library:WebServer:Documents (Macintosh). Нажмите кнопку Add New Folder (Добавить новую папку) (Windows) или New Folder (Создать папку) (Macintosh), чтобы создать новую папку newland. Дважды щелкните на папке, чтобы сделать ее удаленной.
В случае применения сетевого сервера выберите в списке Access (Доступ) пункт Local/Network (Локальная сеть) и перейдите в папку сервера. Желательно, чтобы это происходило на подключенном сетевом диске. В диалоговом окне Choose Remote Folder (Выбор удаленной папки) создайте новую папку newland и укажите ее в качестве удаленной.
При использовании сервера с FTP-доступом убедитесь, что на сервере создана папка newland. Затем в диалоговом окне Site Definition (Определение сайта) в раскрывающемся списке Access (Доступ) выберите пункт FTP и в текстовое поле FTP Host (Узел FTP) введите IP-адрес или веб-адрес. В поле Host Directory (Каталог угла) введите путь к папке newland. В поля Login и Password введите логин и пароль. По завершении щелкните на кнопке Test (Проверить), чтобы убедиться в том, что все параметры введены правильно.
Для сайта Newland Tours удаленный сайт (Remote site) и сервер тестирования (Testing server), по сути, являются одним и тем же. Разница заключается в том, что удаленный сайт позволяет Dreamweaver сохранять файлы в соответствующей папке, а сервер тестирования – проверять файлы после их обработки сервером, тем самым, давая возможность убедиться в том, что они действительно являются работоспособными.
При использовании локального сервера IIS (для всех пользователей ASP и некоторые пользователей ColdFusion) следует ввести http://localhost/newland/.
Если применяется локальная версия ColdFusion (в виде автономного сервера без IIS), то необходимо ввести http://localhost:8500/newland/.
При использовании локальной версии Apache для Windows или Macintosh следует ввести http://localhost/newland/.

При использовании удаленного сервера через сеть или через FTP-протокол следует ввести адрес сервера, полученный от администратора сайта. Обычно он выглядит подобным образом: http://www.bigcompany.com/newland/.
URL-адрес должен начинаться с префикса http:// и не должен содержать букв, обозначающих диски (например, h:\ ). Помимо этого, следует обратить внимание на то, что в URL-адресах применятся прямой слэш ( / ), а не обратный ( \ ).
Повторная регистрация сайта проведена, и теперь он готов к работе.
При преобразовании статического сайта в динамический изменение расширений является необходимым условием, поскольку сервер использует их для того, чтобы определить, каким образом обрабатывать код страницы.

При изменении расширения страницы все ссылки, указывающие на нее, становятся неработоспособными. Обновление файлов позволяет Dreamweaver найти испорченные ссылки и исправить их.

В результате, весь сайт будет загружен в удаленную папку и на сервер тестирования.

Нажатие клавиши (F12) запускает тестирование работы сайта на сервере. Результаты проверки могут быть как негативными, так и вполне приятными. Если главная страница сайта Newland Tours отображается, то это означает, что сайт настроен правильно, и можно приступать к работе. Если появляется сообщение об ошибке или сайт не отображается должным образом, значит где-то допущена ошибка. В этом случае следует второй раз проверить правильность URL-адреса. Также при помощи менеджера файлов операционной системы следует проверить, действительно ли файлы загрузились на сайт. Если проблема не решена, необходимо обратиться за помощью к администратору сайта.

Если при тестировании сайта на удаленном сервере главная страница отобразилась в браузере должным образом, значит все настроено правильно. Тем не менее, действительно
Первым делом нужно создать страницу, на которой вводятся имена пользователей. Нажатие кнопки Submit, предназначенной для регистрации, переводит пользователя на другую страницу, где отобразится введенное им имя. Это приложение, конечно, не демонстрирует всех возможностей ASP, ColdFusion и PHP. Тем не менее, в нем представлены основные способы создания форм и обработки динамических данных, а также показаны различия между кодом, выполняемым на стороне клиента, и кодом, исполняемым на стороне сервера.
На этом шаге создается новая
При использовании ASP на страницу будет добавлена строка <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>. Эта строка определяет, какой язык применяется с ASP: VBScript или JScript. Для упражнений этой книги следует использовать VBScript. В ColdFusion, как и в PHP, употребляется только один язык для написания сценариев, – так что на новой странице ColdFusion или PHP подобных строк не будет.
Теперь на страницу будет добавлена основная форма.

Красной пунктирной линией обозначены границы формы. В браузере эта линия отображаться не будет, а здесь присутствует только для того, чтобы показать, где начинается и где заканчивается форма.
Форма на этом этапе еще не настроена и пока не выполняет никаких действий. Рядом с текстовым полем нет надписи, объясняющей назначение формы.
Если рядом с текстовыми полями не ставить надписей, никто не поймет, какую информацию в них следует вводить.
Вскоре это имя будет использовано для того, чтобы поместить введенное значение в сценарий ASP, ColdFusion или PHP. Рекомендуется всегда присваивать полям формы осмысленные имена. Написание кода и так достаточно трудоемкий процесс, поэтому не стоит дополнительно усложнять его, оставляя имена, которые Dreamweaver использует по умолчанию ( Textfield1, Textfield2, Textfield3 и т.д.).
Нажатие (Tab) или (Enter)/(Return) подтверждает те изменения, которые были выполнены на панели Property Inspector (Инспектор свойств).
<form#form1> , чтобы на панели инспектора свойств открыть свойства формы. Присвойте форме имя frm_name , а в текстовое поле Action (Действие) введите " test_form_processor.asp " (либо .cfm или .php ).В поле Action (Действие) указывается URL-адрес страницы (или другого ресурса), на которой хранится сценарий, обрабатывающий данные формы. В этом случае в поле указан несуществующий адрес, поскольку файл test_form_processor.asp ( .cfm или .php ) еще не был создан. В раскрывающемся поле со списком Method (Метод) должен быть выбран пункт POST. О методе POST будет рассказано в одном из следующих уроков.

Это одноразовый файл, который создается только для того, чтобы протестировать простую функцию динамичного сайта. В названии таких файлов, создаваемых для проверки, я часто использую префикс "test_". Это позволяет с легкостью найти и удалить их после окончания работы.
Страница ввода готова. Пора продемонстрировать, как ASP, ColdFusion или PHP могут собирать эту информацию, вставлять ее в обычный XHTML-код и возвращать браузеру.
Этот шаг повторяет действия, описанные на шаге 1 предыдущего упражнения.
В названиях страниц, используемых для обработки данных, я обычно добавляю суффикс "_processor". Созданная страница будет обрабатывать данные, введенные пользователем в форму.
"Thank you, , for filling out my form" ([Имя пользователя], мы признательны Вам за заполнение формы). Поместите курсор в любое место абзаца и в поле со списком Format (Формат) на панели Property Inspector (Инспектор свойств) выберите пункт Paragraph (Абзац).В итоге, текст будет выглядеть следующим образом: "Thank you, [имя пользователя], for filling out my form". Большая часть предложения представляет собой статический текст. К динамической части относится имя пользователя, которое будет извлечено из формы.
При выборе в раскрывающемся списке Format (Формат) пункта Paragraph (Абзац) строка текста помещается между тегами <p> и </p>.

Панель Bindings применяется для указания всех данных, которые доступны на странице. Эти данные, как правило, хранятся в виде пары "имя-значение". В данном случае имя – firstName. Значения еще не существует, и оно не появится до тех пор, пока кто-нибудь не заполнит форму. Следует также помнить, что значение попадает на страницу вывода из формы, расположенной на странице test_form.asp. Помимо форм к возможным источникам данных относятся URL-адреса, наборы записей (данные, полученные из базы данных), файлы cookie и т.д. О других источниках речь пойдет позже, а в этом упражнении данные поступают из формы.

На первом примере показано диалоговое окно Request Variable, которое отобразится при использовании ASP, а на втором – диалоговое окно Form Variable, которое увидят пользователи ColdFusion и PHP.


Панель Bindings (Привязки) будет обновлена, и в ней отобразится переменная firstName. На примере показано, как выглядит панель Bindings при использовании ASP. В случае с ColdFusion и PHP она несколько отличается (вместо слова Request [Запрос] используется слово Form [Форма], а надпись Form.firstName заменяется надписью firstName).

Если взглянуть на код, окажется, что документ совсем не изменился, то есть код остался прежним, как и до открытия панели Bindings. Цель действий заключалась в том, чтобы при помощи графического интерфейса сообщить Dreamweaver, как написать блок динамического кода.
В начале урока, один за другим, было приведено три фрагмента кода (на ASP, ColdFusion и PHP). В коде была указана переменная ( firstName ), ее источник (форма) и действия, которые с ней следует предпринять (вывести в XHTML). Действия, выполненные с помощью панели Bindings (Привязки), реализовали эту логическую взаимосвязь в том виде, который Dreamweaver способен понять и преобразовать в код.
В случае с ASP определена переменная запроса (Request Variable). В ASP объект Request применяется для получения информации из заданного места. В диалоговом окне выбран тип Request.Form, дающий указание искать в объекте Request переменную, которая задается через форму. Наконец, указано имя самой переменной. Образно говоря, Dreamweaver и ASP приобрели "дорожную карту", с помощью которой можно найти значение переменной firstName.
В случае с ColdFusion и PHP определена переменная формы (Form Variable), которой достаточно для
К этому моменту Dreamweaver располагает исчерпывающей информацией о том, как найти переменную. Но программа еще не получала ни указания искать ее, ни инструкций по обработке значения переменной после того, как она будет найдена.
На странице между запятыми появится надпись {Form.firstName}, выделенная синим цветом. В Dreamweaver синим цветом обозначается текст, относящийся к динамическому содержимому. При просмотре страницы в браузере синий цвет показан не будет. Не будет отображаться и надпись {Form.firstName}, вместо нее отобразится имя пользователя.

{Form.firstName} внешне напоминает код, но на самом деле является псевдокодом. Внешний вид надписи не зависит от серверной модели. Возможно, псевдокод применяется для того, чтобы указать, какая часть страницы относится к динамическому содержимому. Главное – не пытаться использовать этот синтаксис при написании кода.В действительности, на страницу будет добавлен следующий код: <%= Request.Form("firstName") %> (ASP), <cfoutput>#form.firstName#</cfoutput> (ColdFusion) или <? php echo $_POST['firstName']; ?> (PHP). Это те же фрагменты кода, которые демонстрировались в начале урока, с небольшим изменением в коде ASP.
Для того чтобы сервер IIS вывел значение на страницу, используется объект Response (Отклик). Чаще всего, объект Response используется в виде Response.Write(). Эта команда указывает IIS вставить в документ текст, расположенный внутри скобок. Функция Response.Write() эквивалентна (с небольшими отличиями) <cfoutput> или echo. Она настолько часто применяется, что имеет и сокращенный вариант. Сочетание <%= (вместо <% ) в начале ASP-кода означает <% Response.Write(). Другими словами, две строки кода, приведенные ниже, абсолютно равнозначны.
<% Response.Write(Request.Form("firstName")) %>
<%= Request.Form("firstName") %>
Итак, в двух предыдущих шагах при помощи кнопки со знаком плюс "+", расположенной на панели Bindings (привязки), была добавлена информация для Dreamweaver и ASP (Dreamweaver и ColdFusion, Dreamweaver и PHP) о том, как найти переменную firstName. Затем переменная была прикреплена на страницу, благодаря чему ASP, ColdFusion или PHP получили информацию о том, как найти и отобразить ее текущее значение.
Пока сайт не запущен на сервере, протестировать его невозможно. Поэтому для того, чтобы выполнить проверку сайта, следует загрузить (или поместить) файлы на сервер.
Загрузится страница test_form_processor.asp, и введенное в форму имя отобразится на экране.

Интересно, что динамический код был полностью удален! Код страницы представляет собой статический XHTML. Даже имя, относящееся к динамической части надписи, выглядит так, словно изначально записывалось в виде статического кода. Но это, конечно, не так.

Беглый анализ кода приводит к пониманию важного принципа. Код, вводимый в Dreamweaver, отличается от кода страницы, которую пользователь видит в браузере (даже несмотря на то, что у обеих страниц одно и то же имя – и, конечно, много других общих свойств).
Разница между двумя версиями страницы возникает вследствие того, что код исходной страницы (ASP, ColdFusion или PHP) обрабатывается, а затем заменяется XHTML-кодом полученных значений.
Два варианта страницы имеют и некоторые сходные черты. Весь стандартный XHTML-код исходной страницы (в том числе, теги <body> и <p>, а также большая часть текста) остался неизменным в ее итоговой версии.
В этом уроке вы узнали:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.