perl cgiの変数の受け渡しができません。3
http://okwave.jp/qa/q7451675.html
すみません、3回目の質問です。
相変わらず変数の値がうまく渡りません。
3つのページ(ファイル)に分かれていまして
a 入力ページ
b 入力確認ページ
c メール送信ページ
の構成になっています。
a,入力ページが
print $q->start_html(-title=>"*****", -BGCOLOR=>'#ffffff'),
#$q->p('Content-type: text/html\n\n'),
#$q->header(-charset=>"Shift_JIS"),
$q->p('<body bgcollor="#ffffff" text="#000000" link="#0000ff" vlink="#ff00ff">'),
$q->p('<FONT color="blue">****FONT>'),
$q->hr,
$q->p('<form method="post" action="***.cgi">'),# 送信ボタンで送信するデータここから
$q->p('<FONT color="blue">【***】</FONT>'),
$q->p('<INPUT TYPE="text" NAME="name" VALUE="" SIZE="25" MAXLENGTH="25">'),
$q->p('<FONT color="blue">【***】</FONT>'),
$q->p('<INPUT TYPE="text" NAME="menberno" VALUE="" SIZE="25" MAXLENGTH="25">'),
$q->p('<FONT color="blue">【***】</FONT>'),
$q->p('<select name="question" size="1" multiple="multiple">'),
$q->p('<option selected="selected" value="aaa">aaa?</option>'),
$q->p('<option selected="selected" value="bbb">bbb?</option>'),
$q->p('<option selected="selected" value="ccc">ccc?</option>'),
$q->p('</select>'),
$q->br,
$q->p('<FONT color="blue">【****】</FONT>'),
$q->p('<INPUT TYPE="text" NAME="ans" VALUE="" SIZE="25" MAXLENGTH="25">'),
$q->p('<input type=submit value="送信">'),
$q->p('</form>'),# 送信データここまで
$q->hr,
$q->end_html;
となっています。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
b.入力確認ページが
$formdata = "最初は空っぽ";
print "$formdata<BR>";
if ($ENV{'REQUEST_METHOD'} eq "GET") {# GETでの受信
$formdata = $ENV{'QUERY_STRING'};
print "Get=$formdata";
}
else {# POSTでの受信
read(STDIN, $formdata, $ENV{'CONTENT_LENGTH'});
print "POST=$formdata";
}
print "$formdata<BR>";#ここも空っぽ・・・・
####################################################################################
# 表示部
####################################################################################
#print $q->header(-charset=>"Shift_JIS");
print $q->start_html(-title=>"******", -BGCOLOR=>'#ffffff'),
$q->p('<meta http-equiv="content-type" content=text/hetm; charset=Shift_JIS>'),
$q->p('<form method="post" action="mail.cgi" value=$formdata>'),# 送信ボタンで送信するデータここから
$q->p('<FONT color="red">'),
$q->p('***'),
$q->p('***'),
$q->p('</FONT>'),
$q->p('***********'),
$q->hr,
$q->p('<input type=submit value="****">'),
$q->p('</form>'),# 送信データここまで
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
となっていますが、受信したはずのデータが空っぽのようなのです。
何も表示されません。
色々調べてみたのですが、よくわかりませんでした。
教えて頂きたいです。
お礼
どうも有難う御座いました。簡単なミスでした。これは前回からのまだ続きが完了していず、HoComeComeさんに教えて頂いた、スクリプトの件を簡単な形にして試したものです(式は違うものです)。HoComeComeさんに教えて頂いたhttp宣言の箇所を直して、文字コードも入力しました。プロンプトでは表示されるのですが、サーバーのテスト画面ではできなかったので、今回の文ででるものなのかテストをしてみた次第でした。また本文に戻って、明日考えたいと思います。解らなかったら再度ご質問をさせていただこうと思っています。有難う御座いました。※消えましたね