Лістинг 5.8. cgi2.pl
#!/usr/local/bin/perl
use CGI; $co = new CGI;
print $co->header(-charset=>'windows-1251', -lang=>'ru'),
$co->start_html(
-title => 'CGI Example'
-author => 'Andrew'
-meta => {'keywords'=>'CGI Perl'},
-BGCOLOR => 'white'
-LINK => 'red' ),
$co->center($co->h1('Thanks for filling out our survey.'))
$co->h3('Here is your responses...') $co->hr;
if ($co->param()) { print "Your name is: ",
$co->em($co->param('text')), "." $co->p, "Your opinions are: ",
$co->em($co->param('textarea')) ".",$co->p,
"You use these products: ",
$co->em(join(", ", $co->param('checkboxes'))), "."
$co->p, "Your income level is:", $co->em($co->param('list')),".",
$co->p, "Today is day ",
$co->em($co->param('radios')), "</em> of the week.", $co->p,
"How much unsolicited mail you like: ",
$co->em($co->param('popupmenu'))".", $co->p,
"The hidden data is ", $co->em(join(", ",
$co->param('hiddendata')))}
print $co->hr; print $co->end_html;
Починаємо HTML-документ.Початок роботи над документом HTML будується таким чином. Спочатку ви створюєте CGI об'єкт, потім за допомогою методу header цього об'єкту — HTTP-заголовок (у даному прикладі створюється проста шапка документа, але допустимі скільки завгодно складні шапки з будь-якими атрибутами, наприклад -charset=>'windows-1251'). Заголовок можна сформувати і самостійно, напимер, командою print. Метод start_html починає сам документ HTML. Цей метод створює секцію <HEAD>, а також дозволяє вказати деякі атрибути <BODY>, якось: колір для зображення фону і заслань. Нижче приведений фрагмент коду cgil.pl, що відкриває сторінку. Зверніть увагу: аби результати роботи методів header і start_html попали на сторінку, необхідно використовувати функцію print:
#! /usr/local/bin/perl
$з = new CGI
print $co->header,
$co->start_html(
-title => 'CGI Example'
-author => 'Andrew'
-meta => {'keywords'=>'CGI Perl'},
-BGCOLOR => 'white'
-LINK => 'red' )
Створюємо заголовки HTML.Після створення шапки CGI-методи типу h1, h2, h3 і ін. допоможуть створити заголовки, відповідні тегам <Н1>, <Н2>, <НЗ> і так далі Нижче приведений фрагмент коду, що генерує заголовки <Н1> і <Н2> на початку Web-сторінки з анкетою. В даному випадку це просте запрошення користувачеві.
#!/usr/local/bin/perl
$з = new CGI; print
$co->h1('Here is the Survey!',)
$co->h2('Please fill out survey...')
Центруємо елементи. Аби центрувати текст за допомогою тегів <CENTER>, використовується CGI-метод center. У наступному прикладі центрується заголовок, створений в попередньому прикладі:
#'/usr/local/bin/perl
$з = new CGI; print
$co->center($co->h1('Here is the Survey!'))
$co->h2('Please fill out survey...')
Створюємо маркований список. CGI-методы ul і li створюють несортований маркірований список (теги <UL> і <LI> відповідно). Нижче приведений фрагмент коду, що представляє користувачеві декілька аргументів, спонукаючих заповнити анкету:
#!/usr/local/bin/perl
$з = new CGI; print "Reasons for filling out our survey:",
$co->p $co->ul(
$co->li('Fame') $co->li('Fortune '), $co->li('Fun'), )
Створюємо гіперпосилання.Гіперпосилання поміщаються на сторінку CGI-методом а, як в прикладі нижче, де виводиться URL для переходу (на випадок, якщо користувач не зацікавлений в заповненні анкети, створеної сценарієм cgil.pl):
#!/usr/local/bin/perl
$з = new CGI; print
"If you would rather not fill out our survey ",
"you might be interesed in"
$co->a({href=>"http://www. cpan.org/"}, "CPAN") ". "
Створюємо горизонтальну смугу.Для створення горизонтальної лінії (мітка <HR>) використовується CGI-метод hr:
#!/usr/local/bin/perl
$з = new CGI; print
$co->hr
Створюємо HTML-форму.Елементи управління HTML групуються у форми. У прикладі з анкетою для створення форми використовувався GGI-метод startform. Після натиснення кнопки Submit дані з елементів управління мають бути прочитані і передані сценарію, що формує зведення даних, тобто cgi2.pl. URL цього сценарію вказується в атрибуті action форми:
#!/usr/local/bin/perl $со = new CGI; print
$co->startform(
-method=>'POST'
-action=>'http://www.yourself.com/user/cgi/cgi2.pl')
#$co->startform()
Все подальші елементи управління будуть включені у форму, тому що метод startform генерує тег <FORM>.
Дата добавления: 2016-04-02; просмотров: 525;