0

ねえ、私は単純な「出会い系サイト」を作ろうとしていますが、CGI の側面に苦労しています :( 主にフォームに問題があります (自分が何に苦労しているのかよくわかりません)。

私はこの声明を持っています

print header, start_html("EngCupid"), h2("EngCupid"), start_form;

if (!param() || param("home")) {
    show_welcome();
} elsif (param("browse")) {
    browse_page();
} elsif (param("search")) {
    search_users();
} elsif (param("username")) {
    search_results(); 
} else {
    print "fail";
}   
print end_form, end_html;
exit 0; 

Web サイトの一般的なナビゲーションを処理します。ただし、これらの関数内の送信ボタンなどに関しては苦労しています。だから私のbrowse_page()関数は

sub browse_page {
        print h2("Browse Page");
    print p;
    if (param("next")) {
        $hidden_variable = param("x") + 1;
    }
    param('x', $hidden_variable);
    $hidden_variable = 0;
    print hidden('x');
    print submit("next", "Next");
    print submit("home", "Home"), " ", submit("search", "Search Users");

}

次のキーを押すたびに、さらなる機能に使用する必要がある変数をインクリメントすることになっています。ただし、次のキーを押すたびに、フォームが渡されていないため、印刷に失敗しますか?

印刷する各関数内に新しいフォームが必要ですか? 試してみましたが、それでもうまくいきませんでした。一般的にフォームが少し失われています。

4

1 に答える 1

0

あなたが何を達成しようとしているのかわかりません。おそらく問題は、xクライアントからサーバーに が送り返されていないことです。

print hidden('x', param('x'));

また、なぜ$hidden_variable0に設定するのですか?送信後、スクリプトが再度実行され、変数の古い値にはアクセスできなくなります。

于 2012-05-29T11:43:12.193 に答える