• ベストアンサー

遷移元を知りたい。

A.htmlとB.htmlの2つのファイルから1つのPerlを呼び出したいと思います。 遷移元により後続の処理が異なるのですが、どのようにすればAから遷移したか、 Bから遷移したかがわかりますか? Perl&CGIの初心者なので初歩的な質問かもしれませんが、 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.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
noname#25358
回答No.1

 変数 $ENV{'HTTP_REFERER'} に入ってます。  ここに入ってなければ、遷移元のサーバーが返してないということなので、どうあっても取得することはできません。

関連するQ&A