我使用formmail.pl來處理我在我的網站上使用的表單。有幾個字段被髮送到腳本,包括姓名,電子郵件,電話和文本區域中的一些文本。Formmail - 使其顯示名稱和電子郵件成功響應
現在,成功提交打印正確的電話和textarea數據,但不打印輸入的名稱和電子郵件。在電子郵件中,它在'from'標題中發送名稱和電子郵件,並且成功頁面僅顯示電子郵件正文中顯示的電話和textarea數據。
我想顯示在這兩種情況下的所有數據,但我似乎無法找到處理此問題的代碼段。我會發布formmail.pl腳本,除了超過3000行代碼外,我只會發布我認爲是負責任的地方,希望有人能指引我朝着正確的方向發展。我對Perl相當陌生,它對閱讀和理解這種大小的腳本有點壓倒性。
sub success_page {
my ($self, $date) = @_;
if ($self->{FormConfig}{'redirect'}) {
print $self->cgi_object->redirect($self->{FormConfig}{'redirect'});
}
elsif ($self->{CFG}{'no_content'}) {
print $self->cgi_object->header(Status => 204);
}
else {
$self->output_cgi_html_header;
$self->success_page_html_preamble($date);
$self->success_page_fields;
$self->success_page_footer;
}
}
sub success_page_html_preamble {
my ($self, $date) = @_;
my $title = $self->escape_html($self->{FormConfig}{'title'} || 'Success');
my $torecipient = 'to ' . $self->escape_html($self->{FormConfig}{'recipient'});
$torecipient = '' if $self->{Hide_Recipient};
my $attr = $self->body_attributes;
print <<END;
<head>
<title>$title</title>
END
$self->output_style_element;
print <<END;
<link type="text/css" href="css/stylesheet.css" rel="stylesheet" /></script>
</head>
<body>
<p>Below is what you submitted $torecipient on $date</p>
END
}
sub success_page_fields {
my ($self) = @_;
foreach my $f (@{ $self->{Field_Order} }) {
my $val = (defined $self->{Form}{$f} ? $self->{Form}{$f} : '');
$self->success_page_field($self->escape_html($f), $self->escape_html($val));
}
}
sub success_page_field {
my ($self, $name, $value) = @_;
print "<p><b>$name:</b> $value</p>\n";
}
好吧,這有點長。這些東西主要是成功的頁面,並沒有太多的東西與電子郵件的一面,但也許如果有人可以找到我需要的東西,我可以將它應用到電子郵件部分也。
如果需要任何進一步的信息,讓我提前知道
看起來你正在使用[NMS FormMail](http://nms-cgi.sourceforge.net/scripts.shtml),對吧? – 2013-03-02 16:11:54
是的,這確實是 – Predz 2013-03-02 16:50:13