Личный Web-сервер позволяет получить данные от посетителей Web-узла, обработать заполненные формы и отправить ответы на запросы. Данный раздел поможет создать простую интерактивную форму, которую можно использовать в целях сбора информации. Предполагается, что читатель не знает языка HTML, а также не умеет программировать, однако, здесь не предпринимается попытки научить этому. Вместо этого, предлагается воспользоваться готовыми фрагментами исходного текста для разработки работоспособной формы, позволяющей заносить данные в готовую базу данных, входящую в состав личного Web-сервера. Поскольку база данных имеет формат Microsoft Access, ее можно просматривать и редактировать либо в Access, либо с помощью другой готовой программы (см. раздел Доступ в базу данных с помощью средства просмотра Web).
Чтобы создать исходный файл:Совет. Если заголовок слишком велик для страницы, высоту его букв можно уменьшить, если заменить цифру 1 в открывающем и закрывающем тегах <h1> и </h1> на цифру 2.
Совет. Чтобы избежать добавления расширения .txt к имени сохраняемого файла, выберите вариант Все файлы (*.*) в списке Тип файла.
Теперь все готово для вставки фрагментов исходного текста программы, отвечающих за отображение в форме различных полей, флажков и переключателей. Отдельные элементы добавляются в произвольном порядке. Нет необходимости в размещении всех элементов на странице, однако каждый элемент может быть использован только один раз. Например, в форме может быть только один элемент «Первое текстовое поле». Для создания другого текстового поля следует использовать элемент «Второе текстовое поле» или одно из двух готовых полей типа MEMO. В следующей таблице приведен список доступных элементов:
| Имя элемента | Тип элемента | Описание |
|---|---|---|
| Первое текстовое поле | Подпись |
Эти четыре текстовых поля могут быть использованы для ввода не более 255 символов, например имен пользователей или адресов электронной почты. |
| Второе текстовое поле | ||
| Третье текстовое поле | ||
| Четвертое текстовое поле | ||
| Первое поле типа MEMO | Подпись |
Эти два поля имеют неограниченную длину и могут содержать длинный текст, например, послания от посетителей узла. |
| Второе поле типа MEMO | ||
| Первый флажок | Подпись | Флажок возвращает значение True, если он установлен, и значение False, если он снят. Значение одного флажка не влияет на значение другого флажка. |
| Второй флажок | ||
| Переключатель | Подпись Подпись Подпись | Этот элемент позволяет сделать взаимоисключающий выбор из трех вариантов. При выборе первого варианта возвращается значение 1, при выборе второго - значение 2, при выборе третьего - значение 3. |
Чтобы добавить поля в форму:
Совет. Если при копировании в начале и в конце каждого фрагмента оставить комментарии, результирующая страница будет намного легче читаться и редактироваться в дальнейшем. Комментарии не отображаются на странице при открытии ее средством проcмотра Web.
<!-- ===Начало фрагмента для первого текстового поля=== --> <p> Замените этот текст подписью для первого текстового поля: </p> <p><input type="Text" name="FirstTextBox"></p> <!-- ===Конец фрагмента для первого текстового поля=== --> <!-- ===Начало фрагмента для второго текстового поля=== --> <p> Замените этот текст подписью для второго текстового поля: </p> <p><input type="Text" name="SecondTextBox"></p> <!-- ===Конец фрагмента для второго текстового поля=== --> <!-- ===Начало фрагмента для третьего текстового поля=== --> <p> Замените этот текст подписью для третьего текстового поля: </p> <p><input type="Text" name="ThirdTextBox"></p> <!-- ===Конец фрагмента для третьего текстового поля=== --> <!-- ===Начало фрагмента для четвертого текстового поля=== --> <p> Замените этот текст подписью для четвертого текстового поля: </p> <p><input type="Text" name="FourthTextBox"></p> <!-- ===Конец фрагмента для четвертого текстового поля=== --> <!-- ===Начало фрагмента для первого поля типа MEMO=== --> <p> Замените этот текст подписью для первого поля типа MEMO: </p> <p><textarea name="FirstMemoBox" rows=6 cols=70></textarea></p> <!-- ===Конец фрагмента для первого поля типа MEMO=== --> <!-- ===Начало фрагмента для второго поля типа MEMO=== --> <p> Замените этот текст подписью для второго поля типа MEMO: </p> <p><textarea name="SecondMemoBox" rows=6 cols=70></textarea></p> <!-- ===Конец фрагмента для второго поля типа MEMO=== --> <!-- ===Начало фрагмента для первого флажка=== --> <p><input type="CHECKBOX" name="FirstCheckBox" value="true" > Замените этот текст подписью для первого флажка. </p> <!-- ===Конец фрагмента для первого флажка=== --> <!-- ===Начало фрагмента для второго флажка=== --> <p><input type="CHECKBOX" name="SecondCheckBox" value="true" > Замените этот текст подписью для второго флажка. </p> <!-- ===Начало фрагмента для второго флажка=== --> <!-- ===Начало фрагмента для переключателя=== --> <p><input name="RadioButtons" type="RADIO" value="1"> Замените этот текст подписью для первого варианта. <br> <input name="RadioButtons" type="RADIO" value="2"> Замените этот текст подписью для второго варианта. <br> <input name="RadioButtons" type="RADIO" value="3"> Замените этот текст подписью для третьего варианта. </p> <!-- ===Конец фрагмента для переключателя=== -->
После завершения разработки формы необходимо отредактировать операторы, отвечающие за копирование значений полей формы в соответствующие поля базы данных. Файл Sampform.asp содержит операторы обрабатывающие все предусмотренные элементы и их значения. Следует удалить ссылки на неиспользуемые элементы. Следующая таблица содержит имена элементов и соответствующие им имена полей базы данных.
| Имя элемента | Имя поля |
|---|---|
| Первое текстовое поле | TB1 |
| Второе текстовое поле | TB2 |
| Третье текстовое поле | TB3 |
| Четвертое текстовое поле | TB4 |
| Первое поле типа MEMO | MB1 |
| Второе поле типа MEMO | MB2 |
| Первый флажок | CB1 |
| Второй флажок | CB2 |
| Переключатель | RB |
Примечание. Порядок имен полей в операторе не зависит от порядка элементов в форме и не должен изменяться.
'Оператор параметров второго текстового поля
'set objparam=cm.createparameter(, 200, , 255, strTB2)
'cm.parameters.append objparam
Чтобы на основной странице разместить ссылку на форму:
См. также