perlを使ったcgiについて質問です。


問い合せフォーム用に、「inquiry.cgi」というcgiを作りました。(perlです。)

そこから3つのページを生成します。

・問い合せ内容の確認ページ
・入力内容エラーページ
・問い合せ完了ページ

アクセス解析の都合上それぞれのページが表示されるときに、ブラウザのアドレスバーが以下のように表示させたいです。

・inquiry.cgi?check
・inquiry.cgi?error
・inquiry.cgi?thanks


現在は常に「inquiry.cgi」オンリーです。
どうしたらよろしいでしょうか?

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2006/11/22 18:40:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:b-wind No.1

回答回数3344ベストアンサー獲得回数440

ポイント35pt

どのようなページ遷移が行われるかが良く分からないのですが、

確認ページとエラーページは分けにくいような気がします。


それぞれの処理は別ファイルに分けてしまうわけにはいかないのでしょうか?

inquiry_check.cgi, inquiry_error.cgi, inquiry_thanks.cgi 等にすればいいように思うのですが。


一応 form の送信時に

<form action="inquiry.cgi?check">
中略
</form>

とすることでクエリは変更可能だと思います。

http://q.hatena.ne.jp/1163583323

id:tetlis

ひとまず、「確認ページ&エラーページ.cgi」「問い合せ完了ページ.cgi」に分けました。

できたら確認ページ&エラーページも分けたいです。

2006/11/15 20:22:08
id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント35pt

form 送信 -> CGIで確認 -> 確認ページもしくはエラーページ

という遷移をするのであれば URL の分離は不可能です。


あえて言うならばエラーページの方を直接表示するのではなくリダイレクトで別ページに飛ばす形にしてしまえば、見かけのURLは変わりますが、アクセスログには両方のURLが記録されます。

http://q.hatena.ne.jp/answer

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません