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

         

Подробнее о сценарии языка Perl WapMailHDML.pl



Подробнее о сценарии языка Perl WapMailHDML.pl

После того как пользователь введет все данные для посылки сообщения электронной почты внутри приложения WapMail.hdml, оно пересылает данные сценариюWapMailHDML.pl, который и осуществляет посылку сообщения. Очевидно, что элементы для пересылки сообщения в сценарии WapMailHDML.pl аналогичны использующимся в сценарии, описанном выше в этой главе. Они приведены ниже:

#!/usr/bin/perl

$mailprog = "/bin/sendmail";

read (STDIN, $Buffer, $ENV{'CONTENT_LENGTH'});

@data = split(/&/, $Buffer);

$ReplyTo = $data[0]; $SendTo = $data[1]; $MsgSubject = $data[2]; $MsgText = $data[3];

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/x-hdml\n\n"; print "&ltHDML Version=3.0 Markable=True TTL=0&gt\n\n"; print "&ltDisplay&gt\n"; print "&ltAction Type=Accept Task=GO Dest=../WapMail /WapMail.hdml"; print " Vars=SendTo=&MsgSubject=&MsgText=&gt"; print "Message has been sent to:&ltbr&gt\n"; print "$SendTo\n"; print "&lt/Display&gt\n"; print "&lt/HDML&gt\n";

Если вы сравните описанные сценарии, то, как и в Главе 9, вы увидите, что онипо-разному анализируют данные передаваемых им параметров. Это происходитпотому, что элемент postf ield языка WML работает не так, как элемент postdataязыка HDML. Как было сказано в Главе 9, postf ield передает параметры парамиимя/значение. В отличие от него элемент postdata передает только значенияданных. Это означает, что приложение должно знать, в какой последовательности передаются данные. Как вы можете видеть, сценарий просто анализируетданные параметров, создает и пересылает сообщения электронной почты, и после этого создает новую деку формата HDML, которая информирует пользователяоб успешной передаче сообщения.





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