Создание серверных приложений на языке PERL



              

СGІ-программирование - часть 11


Рис. 19.2. Исходная заполняемая форма

Теперь заполните поле Please select a flavor, нажмите клавишу [Enter], и вы увидите то, что показано на рис. 19.3.

Рис. 19.3. Результат обработки переданного с использованием формы запроса

Другие компоненты формы

Теперь, когда вы знаете, как создавать в форме простые текстовые поля и заполнять их, вам, наверное, интересно будет узнать, как создавать компоненты формы других типов — кнопки, отмечаемые блоки и меню.

Сейчас мы рассмотрим более развитую версию нашей программы. В частности, мы включили в нее новые компоненты формы: всплывающие меню, кнопку передачи (которая называется order) и кнопку очистки полей формы, позволяющую стереть все данные, введенные пользователем. Всплывающие меню делают именно то, о чем говорят их имена, но аргументы, указанные в popup_menu, могут озадачить вас — пока вы не прочитаете следующий раздел, "Ссылки". Функция textfieldO создает поле для ввода текста с указанным именем. Подробнее об этой функции мы расскажем ниже, когда будем описывать программу гостевой книги.

#!/usr/local/bin/perl5 -w

# программа ответа на форму заказа мороженого и генерирования этой формы (версия 4) use strict;

# ввести объявления переменных и выполнить заключение в кавычки use CGI qw(:standard);

print header;

print start html("Ice Cream Stand"), hi ("Ice Cream Stand");

if (paramO) ( # форма уже заполнена

my $who = param("name");

my $flavor = param("flavor");

my $scoops = param("scoops");

my $taxrate = 1.0743;

my $cost = sprintf("%.2f", $taxrate * (1.00 + $scoops * 0.25));

print p("0k, $who, have $scoops scoops of $flavor for \$$cost.");

}

else ( # первый проход, представить незаполненную форму

print hr() ;

print start_form();

print p("What's your name? ",textfield("name"));

print p("What flavor: ", popup_menu("flavor",

['mint','cherry','mocha']));

print p("How many scoops? ", popup_menu("scoops", [1..3]));




Содержание  Назад  Вперед