cgi間での引数の受け渡し

[上に] [前に] [次に]
pipo 2000/06/05(月) 16:54:04
皆様お疲れ様です。
早速ですがperl同士での引数の受け渡しについてなんですが、
あるa.cgiの中で
print"<INPUT TYPE="hidden" NAME="aaa" VALUE="100">\n";
みたいな感じの変数を
b.cgiで受け取るにはどのようにしますか?
ちなみに、b.cgiで以下のように書き
sub new {
    my $type = shift;
    my $self = {};

    $self->{cgi}        = CGI_Lite->new;
    $self->{form_data}  = {};

    return bless $self, $type;
}
sub get_form_data {
    my $self = shift;
    $self->{form_data} = $self->{cgi}->parse_form_data;
}
・・・・
・・・・
    $contentid = $self->{form_data}->{contentid};
と、受け取ろうとしたところだめでした。

すいませんがよろしくお願いします。

Duck 2000/06/05(月) 19:31:10
まず、hiddenデータを送信する場合、<FORM>タグを使用します。

<FORM ACTION="b.cgi" METHOD="POST">
<INPUT TYPE="hidden" NAME="aaa" VALUE="100">
</FORM>

このとき、METHOD="POST"とすると、入力データは標準入力に、データ長は環境変数CONTENT_LENGTHにセットされます。
METHOD="GET"とすると、入力データは環境変数QUERY_STRINGにセットされます。
GETの場合は大量のデータを送信する場合には向きません。

つぎに、b.cgiでこれらの入力データを解析してあげます。
実際はデコード処理が必要なので、以下を参照してください。

http://www.tohoho-web.com/wwwcgi3.htm#CgiParameter

分からなければソースを教えてもいいのですが、チャレンジしてください。

pipo 2000/06/08(木) 11:28:50
[[解決]]
お返事遅くなってすいませんでした。

何とか自力で成功しました。
ありがとうございました。

[上に] [前に] [次に]