プロが教える店舗&オフィスのセキュリティ対策術

Perl , javascript 初心者です。
あるページの一番下に,チェックボックスを設置して選択してもらうという簡単なアンケートを作っています。
submit ボタンを押した後,CGI(Perl) で処理を行い,その後元のページの元いた場所(アンケートがあるところ)を表示させることはできますか?
また,できれば submit ボタンの横に「ご協力ありがとうございました」というコメントを表示したいと思います。

良い方法があれば教えて下さい。

A 回答 (2件)

perlでは、


print "location: (URL)\n\n";
これでページを呼び出します。
同じフォームに戻らなくても、お礼のページを作った方が良いと思います。
どうしても、フォームに戻るなら、CGIから戻ってきたことが判るようにURLの後ろに「?back」などと識別コードを付けます。
そして、HTML内にJavaScriptを埋め込み、自分自身のURLを調べれば、普段のURLと違うことが判ります。
    • good
    • 2
この回答へのお礼

お礼がおそくなってすみません。

教えて頂いた方法でできました。
ありがとうございました。

お礼日時:2010/03/30 16:05

 色々な方法がありますが、もっとも簡単なのはそのページ自体をCGIで表示させる方法です。


★たとえば、環境変数・フォーム・クッキー( http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi#form_ … )とかは、そうなってます。
 あなたに、スキルがあれば拡張子はhtmlにもできる。同じサイトを( http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/test. … )で呼び出しても同じ。

 他にもrefreshを使うとか、HTTP応答ヘッダでlocation: URLを出力させてリダイレクトさせるとか

CGI自体に作成させる方法
 作成したフォームのあるHTMLのコードをそのままコピーして、CGIスクリプトの最終行に
__END__
 を書き、そのあとに、HTMLのソースをぺーストします。文字コードは本体と同じ
例)
#!/usr/local/pin/perl

CGIプログラム

処理後
print "Content-type: text/html\; charset=euc-jp\n\n";
while(<DATA>){print;}
sub{} #略
# ・・・・・・・略
__END__
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
以下略
<form action="[CGI名]#form" method="post" id="form">
・・・
<input type="submit" value="送信">
</form>
</body>
</html>
    • good
    • 2
この回答へのお礼

回答をありがとうございます。

今回はNo.1の方の方法を使わせていただきましたが,
教えて頂いた方法も今後の参考にさせていただきます。

お礼日時:2010/03/30 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!