0

ここで私がやろうとしているのは、Web ページ用にいくつかを作成することです。したがって、メインページ(たとえばm1)があります。したがって、m1 には入力フィールドと送信ボタンしかありません。したがって、メイン ページの入力フィールドから変数 (文字列) を取得し、それを一連の文字列と比較して、対応する Web ページにリダイレクトします。たとえば、入力フィールドに「青」と入力すると、値が取得され、値のセットと比較され、対応する Web ページ (おそらく青い背景のページ) にリダイレクトされます。

これが私が試しているコードで、長い検索の後に取得しました。

 use CGI qw/:standard :html3/;

 # this defines the contents of the fill out forms
 # on each page.
 @PAGES = ('Main','Blue','Red','Yellow','Green');
 %FIELDS = ('Main' => ['Name'],
            );
 # accumulate the field names into %ALL_FIELDS;
 foreach (values %FIELDS) {
 grep($ALL_FIELDS{$_}++,@$_);
 } 


 # figure out what page we're on and where we're heading.
 $current_page = calculate_page(param('page'),param('go'));
 $page_name = $PAGES[$current_page];

 print_header();
 print_form($current_page)         if $FIELDS{$page_name};
 print_review($current_page)       if $page_name eq 'Review';
 print_confirmation($current_page) if $page_name eq 'Confirmation';
 print end_html;

 # CALCULATE THE CURRENT PAGE
 sub calculate_page {
 my ($prev,$dir) = @_;
 return 0 if $prev eq '';   # start with first page
 return $prev + 1 if $dir eq 'Submit Application';
 return $prev + 1 if $dir eq 'Next Page';
 return $prev - 1 if $dir eq 'Previous Page';
 }

 # PRINT HTTP AND HTML HEADERS
 sub print_header {
 print header,
 start_html("Your Friendly Family Loan Center"),
 h1("Your Friendly Family Loan Center"),
 h2($page_name);
 }

 # PRINT ONE OF THE QUESTIONNAIRE PAGES
 sub print_form {
 my $current_page = shift;
 print "Please enter the name",
    start_form,
    hr;
 draw_form(@{$FIELDS{$page_name}});
 print hr;
 print submit(-name=>'go',-value=>'Previous Page') 
    if $current_page > 0;
 print submit(-name=>'go',-value=>'Submit'), 
    hidden(-name=>'page',-value=>$current_page,-override=>1),
    end_form;
 }

私の質問は、最初のページで送信された変数にアクセスする方法と、変数のセットと比較する方法です。変数のセットと言うとき、それは赤、青、緑、黄の値を持つ配列を意味します

4

2 に答える 2