• 締切済み

別のページに戻りたい

こんにちは。 以前、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やクッキーは使わないとして、他に方法はないでしょうか?

みんなの回答

回答No.2

> とりあえず、1つの方法として、HTTP_REFERERをhiddenでb.cgiの画面に埋め込んでc.cgiに渡すことは考えました。 この方法ではブラウザの設定やセキュリティーツールの設定によりリファラーを出さない場合は戻れなくなりますので、 a.cgiやx.cgiからb.cgiに対して、 hiddenフィールドで「a.cgiから送信しました」などの情報を送ってやる方が良いと思います。 さらにその情報をc.cgiに渡す事で、戻り先を指定できるようになると思います。

  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

JavaScript、本当にダメなんですか? 残念ですね。 一発なんですが。 <a href="#" onclick="history.go(-3);">入口にもどる</a> この方法だと、ブラウザの進む・戻るボタンに連動という特典もあるんですが。