- ベストアンサー
遷移元を知りたい。
A.htmlとB.htmlの2つのファイルから1つのPerlを呼び出したいと思います。 遷移元により後続の処理が異なるのですが、どのようにすればAから遷移したか、 Bから遷移したかがわかりますか? Perl&CGIの初心者なので初歩的な質問かもしれませんが、 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
単純に考えるならば、CGIへのパラメータとして「どの機能を実行するか」を与えてやればいいような気がします。 例えば、一覧表示とツリー表示ができる掲示板では、 bbs.cgi?view=list または bbs.cgi?view=tree のような感じで「表示モード(=どの表示機能を実行するか)」を指定したりします。 同じような感じで、from=A とか from=B とかをパラメータにつけて、 if ($in{from} eq 'A') { # Aから呼び出されたときの処理 } elsif ($in{from} eq 'B') { # Bから呼び出されたときの処理 } else { # エラー(またはデフォルトの処理) } のような感じで処理分けをしてはどうでしょうか?
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
リファラーは取得できないことがあるので、 perl.cgi?CALL=A とかして、パラメータから調べるといいかもしれません。
noname#25358
回答No.1
変数 $ENV{'HTTP_REFERER'} に入ってます。 ここに入ってなければ、遷移元のサーバーが返してないということなので、どうあっても取得することはできません。