2013-03-02 75 views
1

我使用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"; 
} 

好吧,這有點長。這些東西主要是成功的頁面,並沒有太多的東西與電子郵件的一面,但也許如果有人可以找到我需要的東西,我可以將它應用到電子郵件部分也。

如果需要任何進一步的信息,讓我提前知道

+0

看起來你正在使用[NMS FormMail](http://nms-cgi.sourceforge.net/scripts.shtml),對吧? – 2013-03-02 16:11:54

+0

是的,這確實是 – Predz 2013-03-02 16:50:13

回答

2

謝謝,我還沒有真正使用NMS FormMail自己,但看着the source,看來你應該能夠實現的東西像什麼你想通過設置以下額外的配置選項:

$more_config{include_config_email} = 1; 
$more_config{include_config_realname} = 1; 

這應當引起FormMail.pl治療emailrealname領域沒有除了它們的特殊含義之外,

+0

工作就像一個魅力!非常感謝。 – Predz 2013-03-02 16:54:38

相關問題