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

         

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



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


После того как пользователь введет необходимую для сообщения информацию инажмет кнопку Send, файл формата HTML пошлет данные сценарию языка Perl,который, обработав эту информацию, посредством электронной почты перешлет сообщение в центр обработки сообщений PCS Sprint. Файл WebPage.htmlимеет следующий исходный код: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Content-Language" content="en-us"> <title>Web Page</title> </head> <body> <p align="center"><font face="Arial" size="6">Web Page</font></p> <p align="center"><font face="Arial" >(Page a Sprint PCS phone)</font></p> <form method="POST" action="http://waplib.com/waplibcgi/ WebPage.pl"> <table width="43%"> <tr> <td width="30%"><font face="Arial" size="4" ><b>Reply-To:</b></font></td> <td width="70%"> <input type="text" name="ReplyTo1" size="3" maxlength="3"> <font face="Arial" size="4">- </font> <input type="text" name="ReplyTo2" size="3" maxlength="3"> <font face="Arial" size="4">-</font> <input type="text" name="ReplyTo3" size="3" maxlength="4"></td> </tr> <tr> <td width="30%"> </td> <td width="70%"></td> </tr> <tr> <td width="30%"><font face="Arial" size="4" ><b>Send To:</b></font></td> <td width="70%"> <input type="text" name="SendTo1" size="3" maxlength="3"> <font face="Arial" size="4">- </font> <input type="text" name="SendTo2" size="3" maxlength="3"> <font face="Arial" size="4">-</font> <input type="text" name="SendTo3" size="3" maxlength="4"></td> </tr> <tr> <td width="30%"><font face="Arial" size="4"><b>Text:</b></font></td> <td width="70%"><textarea rows="4" name="MsgText" cols="20"></textarea></td> </tr> <tr> <td width="30%"> </td> <td width="70%"></td> </tr> <tr> <td width="30%"><input type="submit" value="Send" name="SendButton"></td> <td width="70%"><input type="reset" value="Reset" name="ResetButton"></td> </tr> </table> </form> </body> </html>
Файл формата 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 "<HTML>\n"; print "<Body>\n"; print "Message has been sent to: $SendTo\n"; print "</Body>\n"; print "</HTML>\n";
В начале сценария используется функция $cgiVars для извлечения значений параметров. Так как в файле формата HTML данные ReplyTo и SendTo вводятсятремя частями (три части, составляющие телефонный номер), файл должен извлекать значения параметров в переменные ReplyTol, ReplyTo2, ReplyToS,SendTol, SendTo2, SendTo3. Исходный код должен объединить эти значения в переменные ReplyTo И SendTo.
Далее, сценарий создает и пересылает сообщение электронной почты. Приокончании работы сценарий также создает новый файл формата HTML, сообщающий пользователю о том, что сообщение передано.



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