0

テキストフィールドから名前を取得し、それを配列と比較する、perl で Web ページを作成しようとしています。一致が見つかった場合は、テキストファイルに保存されている対応するコンテンツを表示する必要があります。ここに私のコードがあります、

#!G:\perl\bin\perl.exe -w

use CGI qw/:standard/;

my $cgi = CGI->new;
my $action = $cgi->param('action');


my @team = qw( red blue green yellow );


print
header,
start_html('welcome'),
h1('welcome'),
start_form,
"Please Enter your name",textfield('name'),p,  //can someone tell me what is ,p, doing here?
submit,
end_form,
hr,"\n";

my $n = $cgi->param('name');


for (my $i=0; $ <= $#team; $i++) {
if ( $team[$i] eq $n ) {

print "Welcome, $n";


}else {
print "who are you ?";
}

}
 print end_html;

私の問題は、名前を取得した後に比較できず、名前を取得した後に何も印刷できないことです。また、送信ボタン内のテキストを変更することは可能ですか?

4

1 に答える 1

0

次のように、送信ボタンのテキストを変更できます。

print submit(-value=>'text on the submit button');

詳細については、CGIのドキュメントを参照してください。そのようなものを読むことは報われます。


コードにもタイプミスがあります。それはおそらくprintあなたが得た後にあなたのコードが何もしない原因となります$n. で気づいたでしょうuse strict

for (my $i=0; $ <= $#team; $i++) {
            # ↑
            # └─ This is supposed to be $i
于 2013-06-04T11:27:17.107 に答える