- 締切済み
別のページに戻りたい
こんにちは。 以前、ASPで似たような質問をさせてもらったのですが、再度質問です。 perlでCGIを作成しています。 現在、a.cgiからb.cgiをリンクで呼び出し、b.cgiからはフォームでc.cgiを呼び出し、c.cgiからはLocationでa.cgiに自動で戻るようになっています。 a.cgi->b.cgi->c.cgi->a.cgi ここで、b.cgiをx.cgiからも呼び出したいと思ったのですが、最後、c.cgiからはやはりa.cgiに戻ってしまいます。 この場合に、c.cgiから、x.cgiへ戻るようにすることは可能でしょうか? a.cgi->b.cgi->c.cgi->a.cgi x.cgi->b.cgi->c.cgi->x.cgi とりあえず、1つの方法として、HTTP_REFERERをhiddenでb.cgiの画面に埋め込んでc.cgiに渡すことは考えました。 なるべくブラウザの環境に依存したくないので、javascriptやクッキーは使わないとして、他に方法はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
> とりあえず、1つの方法として、HTTP_REFERERをhiddenでb.cgiの画面に埋め込んでc.cgiに渡すことは考えました。 この方法ではブラウザの設定やセキュリティーツールの設定によりリファラーを出さない場合は戻れなくなりますので、 a.cgiやx.cgiからb.cgiに対して、 hiddenフィールドで「a.cgiから送信しました」などの情報を送ってやる方が良いと思います。 さらにその情報をc.cgiに渡す事で、戻り先を指定できるようになると思います。
- zxcv0000
- ベストアンサー率56% (111/196)
JavaScript、本当にダメなんですか? 残念ですね。 一発なんですが。 <a href="#" onclick="history.go(-3);">入口にもどる</a> この方法だと、ブラウザの進む・戻るボタンに連動という特典もあるんですが。