Пособие по написанию WAP-сайтов

       

Приглашение на ввод данных о заказе



Рисунок 16.4. Приглашение на ввод данных о заказе


После ввода пользователем информации о заказе, приложение посылает введенные данные в Peri-сценарий, который в реальных условиях взаимодействовал быс базой данных по заказам в ресторане. Чтобы сформировать приглашение пользователю на ввод данных о заказе, приложение запускает сценарийRestReservationWML.pl, состоящий из следующего программного кода:

#!/usr/bin/perl

$RestName = $ENV{'QUERY_STRING'};

$RestName =~ s/%20/ /g;

{ $Deck = "Content-type: text/vnd.wap.wml

&lt?xml version=\"1.0\"?&gt &lt!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv=\"Cache-Control\" content=\"max-age=0\" forua=\"true\"/&gt

&lt/head&gt

&ltcard id=\"EditRes\"&gt

&ltdo type=\"accept\" label=\"Edit\"&gt &ltnoop /&gt &lt/do&gt



&ltdo type=\"options\" label=\"Make\"&gt &ltgo href=\"#MakeRes\" /&gt &lt/do&gt

&ltp align=\"center\"&gt

$RestName&ltbr/&gt

&lt/p&gt

&ltp align=\"left\" mode=\"nowrap\"&gt

&ltselect&gt

&ltoption onpick=\"#GetDay\"&gtDay: \$(ResDay)&lt/option&gt &ltoption onpick=\"#GetTime\"&gtTime: \$(ResTime)&lt/option&gt &ltoption onpick=\"#GetNumber\"&gtNumber: \$(ResNumber)&lt/option&gt &ltoption onpick=\"#GetName\"&gtName: \$(ResName)&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id=\"GetDay\"&gt

&ltdo type=\"accept\"&gt &ltgo href=\"#EditRes\" /&gt &lt/do&gt

&ltp align=\"left\" mode=\"nowrap\"&gt

&ltselect name=\"ResDay\"&gt




&ltoption value=\"Sunday\"&gtSunday&lt/option&gt &ltoption value=\"Monday\"&gtMonday&lt/option&gt &ltoption value=\"Tuesday\"&gtTuesday&lt/option&gt &ltoption value=\"Wednesday\"&gtWednesday&lt/option&gt &ltoption value=\"Thursday\"&gtThursday&lt/option&gt &ltoption value=\"Friday\"&gtFriday&lt/option&gt &ltoption value=\"Saturday\"&gtSaturday&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id=\"GetTime\"&gt

&ltdo type=\"accept\"&gt &ltgo href=\"#EditRes\" /&gt &lt/do&gt

&ltp align=\"left\"&gt

Time: &ltinput name=\"ResTime\" maxlength=\"5\" format=\"NN:NN\" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id=\"GetNumber\"&gt

&ltdo type=\"accept\"&gt &ltgo href=\"#EditRes\" /&gt &lt/do&gt

&ltp align=\"left\"&gt

Number in party: &ltinput name=\"ResNumber\" maxlength=\"2\" format=\"*N\" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id=\"GetName\"&gt

&ltdo type=\"accept\"&gt &ltgo href=\"#EditRes\" /&gt &lt/do&gt

&ltp align=\"left\"&gt

Name: &ltinput name=\"ResName\" maxlength=\"15\" format=\"M14M\" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id=\"MakeRes\"&gt

&ltdo type=\"accept\" label=\"Done\"&gt &ltgo href=\"../RestaurantRes/ RestaurantRes.wml\" /&gt &lt/do&gt

&ltp align=\"left\" mode=\"nowrap\"&gt

Reservation at&ltbr/&gt $RestName&ltbr/&gt Confirmed

&lt/p&gt

&lt/card&gt

&lt/wml&gt"; }

print $Deck;

Сценарий попросту создает WML-страницу, которая принимает данные о заказе, вводимые пользователем. Для получения данных о заказе приложение использует Peri-сценарий (вместо того, чтобы просто вызвать существующий WML-код),так как в реальном приложении сценарий использовался бы для связи с базойданных и затем мгновенно создавал бы WML-карты. Как вы, вероятно, догадались,содержимое Peri-сценария RestReservationHDML.pl почти полностью совпадает сWML-сценарием, за исключением того, что данный сценарий создает HDML-страницу.



Содержание раздела