問い合せフォーム用に、「inquiry.cgi」というcgiを作りました。(perlです。)
そこから3つのページを生成します。
・問い合せ内容の確認ページ
・入力内容エラーページ
・問い合せ完了ページ
アクセス解析の都合上それぞれのページが表示されるときに、ブラウザのアドレスバーが以下のように表示させたいです。
・inquiry.cgi?check
・inquiry.cgi?error
・inquiry.cgi?thanks
現在は常に「inquiry.cgi」オンリーです。
どうしたらよろしいでしょうか?
どのようなページ遷移が行われるかが良く分からないのですが、
確認ページとエラーページは分けにくいような気がします。
それぞれの処理は別ファイルに分けてしまうわけにはいかないのでしょうか?
inquiry_check.cgi, inquiry_error.cgi, inquiry_thanks.cgi 等にすればいいように思うのですが。
一応 form の送信時に
<form action="inquiry.cgi?check"> 中略 </form>
とすることでクエリは変更可能だと思います。
form 送信 -> CGIで確認 -> 確認ページもしくはエラーページ
という遷移をするのであれば URL の分離は不可能です。
あえて言うならばエラーページの方を直接表示するのではなくリダイレクトで別ページに飛ばす形にしてしまえば、見かけのURLは変わりますが、アクセスログには両方のURLが記録されます。
ひとまず、「確認ページ&エラーページ.cgi」「問い合せ完了ページ.cgi」に分けました。
できたら確認ページ&エラーページも分けたいです。