说明:$sendmai_path是指明“sendmail”的路径。"From:"后面填你的电子信箱,不要丢了@ 前面的反协杠。不要丢了EOF前面一行的那个句点“.”。那个EOF要顶格写,前面不要有空格。
第二个问题:验证合法性可以只使用javascript,但那样不好,有安全漏洞,但只用perl来检查呢,又比较慢,所以最好的办法是javascript和perl结合起来用,对于友好的用户,可以很快的得到错误提示,对于非法用户,可以在perl的检查中将其拒之于外。
在perl里,你可以在调用保存资料的子程序&savedata();以前加入一个判断的语句,判断的条件嘛,就像小肯哥写的那样:
if ((length($input{'telephone'})>6)&&($input{'email'} =~ /^[\w¦-¦\.]+\@\w+(\.\w{2,3}){1,4}$/))
{
&savedata();
&sendmail();
&printend();
}else{
&printerroe();
}
然后定义一个sub 叫printerror()来显示用户的输入不合法。
用javascript的话就要修改printuserinfo()那个子程序
将前几行修改为如下内容:
sub printuserinfo () {
my $javascript='
<script language="JavaScript">
function check(){
var msg="";
if (document.info.telephone.value.length < 6) {
msg+="您输入的电话有误!\n\n";
}
var email_length=document.info.email.value.length;
var tab1=document.info.email.value.indexOf("@");
var domain=document.info.email.value.substring(tab1+1,email_length);