【发布时间】:2014-05-20 19:10:10
【问题描述】:
我有两个单独的 perl 文档:
- mailcheck.pl
- loggingpage.pl
Mailcheck 以 html 格式打印出一个表单,用户可以在其中输入她/他的电子邮件,并检查输入是否是有效的电子邮件地址。然后它调用 loggingpage.pl,它将电子邮件保存在日志文件中,如果电子邮件地址成功存储,则向用户提供信息。
这是两个文件:
-
mailcheck.pl:
#!/usr/bin/perl use strict; use warnings; print "Content-type: text/html\n\n"; print <<HTML; <html> <head> <title>Mailcheck</title> </head> <body> <form name="ec" action ="./loggingfiles.pl" method="get"> Email: <input type="text" name="email"> <br> <input type="button" value="Pruefen" onclick="javascript:emailcheck();"> </form> <script language="javascript" type="text/javascript"> function emailcheck() { var emailoutline = /^[a-z0-9._%+-]+\@[a-z0-9.-]+\.[a-z]{2,4}\$\/\; var x = document.ec.email.value; if (emailoutline.test(x)) { open("./loggingpage.pl); } else { alert("Dies ist keine richtige eMailadresse!"); } } </script> </body> </html> HTML exit; -
loggingpage.pl:
#!/usr/bin/perl use strict; use warnings; use CGI qw(:standart); #reads the input of the form called "email" $emailinput = param('email'); #saves the email in the logfile open(my $ml, ">", "./../logs/maillog.txt") or die "Fehlermeldung"; print $ml scalar(localtime()), " Email: ", $emailinput; close($ml); #gives out information about the saving process if (...) #saving the email in the logfile succeeded { print <<HTML; <html> <head></head> <body> <script language="javascript" type="text/javascript"> alert("Your input has been saved under the following email: " + $emailinput); </script> </body> </html> HTML exit; } else #gives out warning if information was not stored right { print <<HTML; <html> <head></head> <body> <script language="javascript" type="text/javascript"> alert("Error while saving your input."); </script> </body> </html> HTML exit; }
(我知道<<HTML (..) HTML 块前面不能有空格 - 在我的实际文档中,我以正确的方式编辑了块)
我现在的问题是:
一个。当我想查看邮件是否保存在日志文件中时,如何编写 if 条件?
b.我不太确定$emailinput = param('email'); 部分是否有效,因为我无法尝试,这是在 mailcheck.pl 中获取表单输入的正确方法还是我需要以不同的方式编写代码?
供您参考: - mailcheck.pl 工作正常。 - 在日志文件中保存电子邮件也可以正常工作(我尝试通过将变量定义为电子邮件并将其与当前日期一起保存到日志文件中......)
【问题讨论】: