#!/usr/bin/perl -wT
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
print header;
print start_html("Thank You");
print h2("Thank You");
my %form;
foreach my $p (param()) {
$form{$p} = param($p);
print "$p = $form{$p}<br>\n";
}
print end_html;
這適用於所有的基本形式和確認是好的,但不是在一個表中的順序http://www.quickpaysolutions.com/tt.html我試圖輸出這一個表的形式
我有另一種形式的不工作與表格,但形式確認是按字母順序排列的,而不是表格的構建方式。我希望表格邊框中的表格和表格的順序。
http://www.quickpaysolutions.com/jt.html
操作的代碼:
#!/usr/bin/perl
print "Content-type:text/html\n\n";
use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
use strict;
use CGI;
my $cgi = new CGI;
print
$cgi->header() .
$cgi->start_html(-title => 'Form Results') .
$cgi->center($cgi->h1('Your Reciept <br> Please Print this Reciept')). "\n";
my @params = $cgi->param();
print '<table border="1" width="500" align="center" cellspacing="1" cellpadding="2">' . "\n";
foreach my $parameter (sort @params) {
print "<tr><th>$parameter</th><td>" . $cgi->param($parameter) . "</td></tr>\n";
}
print "</table>\n";
#
$ENV{PATH} = "/usr/sbin";
open (MAIL, "|/usr/sbin/sendmail -oi -t ") or &dienice("Can't fork for sendmail: $!\n");
my $recipient = '[email protected], [email protected]';
print MAIL "To: $recipient\n";
print MAIL "From: nobody\@quickpaysolutions.com\n";
print MAIL "Subject: Form Data\n\n";
foreach my $p (param()) {
print MAIL "$p = ", param($p), "\n";
}
close(MAIL);
# Now print a thank-you page
# The dienice subroutine handles errors.
sub dienice {
my ($errmsg) = @_;
print "<h2>Error</h2>\n";
print "<p>$errmsg</p>\n";
print end_html;
exit;
}
$cgi->end_html . "\n";
[文檔的CGI模塊(https://metacpan.org/pod/CGI)含有非常明確的警告,就像'CGI.pm已被刪除從一些事情不應再使用PERL CORE和HTML生成函數。你的第二個例子在第一個'tr'中也有'th'元素和* td'元素。那是錯的。 – Borodin 2015-04-05 17:25:02