htmlのフォームに記入してもらった内容を、そのままデータに書き込むcgiに送信するのではなく、一回内容を表示した確認cgiをはさみたいのですが、どうすればよいのでしょうか。
とりあえず、今の状態は、htmlファイルから読み込むデータを"name","mail","coment"の3つとしてます。
enquete.htmlファイルの一部:
<FORM method="POST" action="enquete.cgi">
<TABLE>
<TR>
<TD>名前</TD>
<TD><INPUT type="text" name="name"></TD>
<TD>メールアドレス</TD>
<TD><INPUT type="text" name="mail"></TD>
<TD>コメント</TD>
<TD><INPUT type="text" name="coment"></TD>
</TR>
<INPUT type="submit" value=" 送 る ">
<INPUT type="reset" value="やり直す">
のような感じです。
これに確認cgiをはさんで、
enquete.html"確認ページへ"
→kakunin.cgi"送る"
→enquete.cgi"戻る"
みたいな構成にしたいのですが、kakunin.cgiの実装の仕方を教えてください。また、それにともない、直す箇所も教えてください。
おねがいします。
No.1
- 回答日時:
kakunin.cgiでは、受け取った3つのデータ"name","mail","coment"を表示。
加えて"name","mail","coment"のデータを再度送信するためのボタンを用意するのが常套手段じゃないかな?
再送信ボタンといっても普通のフォームに hidden でデータを用意する程度で十分機能します。
<input name="name" type="hidden" value="名前だよ">
データの汚染チェックを送信時と再送信時で、合わせて2回しないといけないのがちょっと面倒かな。
No.2ベストアンサー
- 回答日時:
#!C:/Perl/bin/perl
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
@pairs=split(/&/,$buffer);
foreach $pair (@pairs){
($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C",hex($1))/eg;
$cgi{$name} = $value;
}
print "Conten-type: text/html;charset=\"shift_jis\"\n\n";
print "<html>\n";
print "<b>確認<br>\n";
print "<TABLE border>\n";
print "<TR>\n";
print "<TD>名前</TD>\n";
print "<TD>$cgi{'name'}</TD>\n";
print "<tr><TD>メールアドレス</TD>\n";
print "<TD>$cgi{'mail'}</TD>\n";
print "<tr><TD>コメント</TD>\n";
print "<TD>$cgi{'coment'}</TD>\n";
print "</TR>\n";
print "</TABLE>\n";
print <<"AAA";
<form action = "okuru.cgi" method="post">
<INPUT type="hidden" name="name" value="$cgi{'name'}">
<INPUT type="hidden" name="mail" value="$cgi{'mail'}">
<INPUT type="hidden" name="coment" value="$cgi{'coment'}">
<input type="submit" value="送信">
</form>
AAA
print "</BODY></HTML>\n";
こんな感じで入力したデータを確認できますよ。これを
kakunin.cgiとして試してみて下さい。
ありがとうございます!作動しました!
ですが、
print""うんたら
のところはサブルーチン化してperlで書けるでしょうか??perlでかけたほうが楽になるので。。
どことどこはサブルーチンとして書けるか教えてください。おねがいします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGI→CGI変数の引き継ぎは...
-
mail.cgiの記述について
-
CGIに渡しているパラメータを表...
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
wordの数式について 定積分を書...
-
select値をhiddenのvalueに渡し...
-
ラジオボタンが両方とも選択で...
-
WEBページを強制的に横画面で見...
-
INPUT TYPE
-
プログラミングについての質問...
-
CGI.pmを利用のテーブル表示に...
-
vsftpd+sslでアップロードできない
-
tracert ができない原因
-
プルダウンメニューにテキスト...
-
postデータのあるページの再表示
-
iframeごとに戻るボタンを
-
cgiからsendmailを送信で文字化け
-
EXCELとの連携
-
VB初心者。小数点以下の表示で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
チェックボックスで選択した内...
-
Error: No Recipient というエ...
-
hiddenで送ったデータの取り出し方
-
CGIでチェックボックスを使...
-
チェックボックスでのvalue値の...
-
CGIで得た内容をHTMlページに代入
-
python subprocessに関する質問
-
アンケートフォームで前のペー...
-
複数ボタンのvalueを送れない
-
CGIフォームから飛ばすメールで...
-
FC2 掲示版のカスタマイズの仕...
-
心理テストページをCGIで作りた...
-
1つのformに2つのsubmitボタン
-
CGI→CGI変数の引き継ぎは...
-
”送信ボタン” ”クリアボタン”...
-
フォームの入力内容の後ろに文...
-
アンケートで質問を複数ページ...
-
フォームのvalueを変更する方法
おすすめ情報