и форму. Это позволит использовать
sub t_shirt {
my Sactive = shift;
unless (Sactive) {
print hidden('size"), hidden('color"); return,
print p("You want to buy a t-shirt?");
print p("Size ", popup_menu("size", [ qw(XL L M S XS) ])),
print pC Color ", popup_menu("color", [ qw(Black White) ]));
print p( to_page('Shoes"), to_page( Checkout1) ), }
Поскольку все подпрограммы генерируют HTML-код, перед вызовом необходимо вывести заголовок HTTP и начать HTML-документ и форму. Это позволит использовать стандартные колонтитулы для всех страниц, если мы захотим. Следующий фрагмент предполагает, что у нас имеются процедуры standard_header и standard_footer для вывода верхних и нижних колонтитулов страниц:
print header( 'Program Title"), begin_html(), print standard_header(), begin_form(); while (($state, $sub) = each %States) {
$sub->( $page eq $state ), } print standard_footer(), end_form(), end_htnl(),
Кодирование цены в форме будет ошибкой. Вычисляйте цены на основании значений скрытых элементов и как можно чаще проверяйте информацию. Например, сравнение со списком существующих продуктов позволяет отбросить явно неразумные заказы.
В конце главы приведена программа chemiserie — простейшее приложение для обслуживания электронного магазина.
> Смотри также---------------------------------------------------------------------------------------------
Документация по стандартному модулю CGI.
19.13. Сохранение формы в файле или канале
Проблема
Сценарий CGI должен сохранить все содержимое формы в файле или передать его в канал.
Решение
Для сохранения формы воспользуйтесь функцией save_parameters или методом save модуля CGI; их параметром является файловый манипулятор. Сохранение в файле выполняется так:
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий