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

         

Передача сообщения с сайта Интернет



Рисунок 9.5. Передача сообщения с сайта Интернет


После того как пользователь введет необходимую для сообщения информацию инажмет кнопку Send, файл формата HTML пошлет данные сценарию языка Perl,который, обработав эту информацию, посредством электронной почты перешлет сообщение в центр обработки сообщений PCS Sprint. Файл WebPage.htmlимеет следующий исходный код:

&lthtml&gt

&lthead&gt &ltmeta http-equiv="Content-Type" content="text/html; charset=windows-1252"&gt &ltmeta http-equiv="Content-Language" content="en-us"&gt &lttitle&gtWeb Page&lt/title&gt &lt/head&gt

&ltbody&gt &ltp align="center"&gt&ltfont face="Arial" size="6"&gtWeb Page&lt/font&gt&lt/p&gt &ltp align="center"&gt&ltfont face="Arial" &gt(Page a Sprint PCS phone)&lt/font&gt&lt/p&gt

&ltform method="POST" action="http://waplib.com/waplibcgi/ WebPage.pl"&gt

&lttable border="0" width="43%"&gt &lttr&gt &lttd width="30%"&gt&ltfont face="Arial" size="4" &gt&ltb&gtReply-To:&lt/b&gt&lt/font&gt&lt/td&gt &lttd width="70%"&gt &ltinput type="text" name="ReplyTo1" size="3" maxlength="3"&gt &ltfont face="Arial" size="4"&gt- &lt/font&gt &ltinput type="text" name="ReplyTo2" size="3" maxlength="3"&gt &ltfont face="Arial" size="4"&gt-&lt/font&gt &ltinput type="text" name="ReplyTo3" size="3" maxlength="4"&gt&lt/td&gt &lt/tr&gt &lttr&gt &lttd width="30%"> &lt/td&gt &lttd width="70%"&gt&lt/td&gt &lt/tr&gt &lttr&gt &lttd width="30%"&gt&ltfont face="Arial" size="4" &gt&ltb&gtSend To:&lt/b&gt&lt/font&gt&lt/td&gt &lttd width="70%"&gt &ltinput type="text" name="SendTo1" size="3" maxlength="3"&gt &ltfont face="Arial" size="4"&gt- &lt/font&gt &ltinput type="text" name="SendTo2" size="3" maxlength="3"&gt &ltfont face="Arial" size="4"&gt-&lt/font&gt &ltinput type="text" name="SendTo3" size="3" maxlength="4"&gt&lt/td&gt &lt/tr&gt &lttr&gt &lttd width="30%"&gt&ltfont face="Arial" size="4"&gt&ltb&gtText:&lt/b&gt&lt/font&gt&lt/td&gt &lttd width="70%"&gt&lttextarea rows="4" name="MsgText" cols="20"&gt&lt/textarea&gt&lt/td&gt &lt/tr&gt &lttr&gt &lttd width="30%"> &lt/td&gt &lttd width="70%"&gt&lt/td&gt &lt/tr&gt &lttr&gt &lttd width="30%"&gt&ltinput type="submit" value="Send" name="SendButton"&gt&lt/td&gt &lttd width="70%"&gt&ltinput type="reset" value="Reset" name="ResetButton"&gt&lt/td&gt &lt/tr&gt &lt/table&gt &lt/form&gt &lt/body&gt




&lt/html&gt

Файл формата HTML использует элемент <input> для получения значений переменных ReplyTo, SendTo HMsgText. Элемент <input> используется также для определения формата вводимых данных. Для облегчения ввода данных, имеющихвид телефонных номеров, в файле используется таблица для ввода компонентовтелефонного номера. После того как пользователь введет данные и нажметкнопку Send, в исходном коде происходит передача данных сценарию языка PerlWebPage.pl, исходный код которого приведен ниже:

#!/usr/bin/perl

require 'DeckUtils.pl';

$mailprog = "/bin/sendmail";

# Get the CGI variables. %cgiVars = &AppUtils::ParseCGIVars();

$ReplyTo1 = $cgiVars{"ReplyTo1"}; $ReplyTo2 = $cgiVars{"ReplyTo2"}; $ReplyTo3 = $cgiVars{"ReplyTo3"}; $ReplyTo = $ReplyTo1; $ReplyTo .= "-"; $ReplyTo .= $ReplyTo2; $ReplyTo .= "-"; $ReplyTo .= $ReplyTo3; $MsgSubject = $ReplyTo;

$SendTo1 = $cgiVars{"SendTo1"}; $SendTo2 = $cgiVars{"SendTo2"}; $SendTo3 = $cgiVars{"SendTo3"}; $SendTo = $SendTo1; $SendTo .= $SendTo2; $SendTo .= $SendTo3; $SendTo .= "\@messaging.sprintpcs.com";

$MsgText = $cgiVars{"MsgText"};

open(MAIL, "|$mailprog $SendTo");

print MAIL "Reply-To: $ReplyTo\n"; print MAIL "From: Demo\@waplib.com\n"; print MAIL "To: $SendTo\n"; print MAIL "Subject: $MsgSubject\n\n";

print MAIL "$MsgText\n";

close(MAIL);

print "Content-type: text/html\n\n"; print "&ltHTML&gt\n"; print "&ltBody&gt\n"; print "Message has been sent to: $SendTo\n"; print "&lt/Body&gt\n"; print "&lt/HTML&gt\n";

В начале сценария используется функция $cgiVars для извлечения значений параметров. Так как в файле формата HTML данные ReplyTo и SendTo вводятсятремя частями (три части, составляющие телефонный номер), файл должен извлекать значения параметров в переменные ReplyTol, ReplyTo2, ReplyToS,SendTol, SendTo2, SendTo3.Исходный код должен объединить эти значения в переменные ReplyTo И SendTo.

Далее, сценарий создает и пересылает сообщение электронной почты. Приокончании работы сценарий также создает новый файл формата HTML, сообщающий пользователю о том, что сообщение передано.



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