• 締切済み

あるプログラム上で違うプログラムを呼び出す方法

PHP初心者です。 大学で課題が出されて、どうしても分からないので質問させてください。 課題の内容は 「どのページからアクセスされているのか、GETパラメータで送信しラッパーを使用して、判断せよ」 というものです。(細かい表現は違っているかもしれません) 具体的には、A、Bという二つのPHPプログラムを インターネット上で動かした時、 ブラウザに、 (Aを呼び出したときは)「Aからアクセスしています」 と表示させるようにしたいというものです。 この時、ページ遷移はすることなく、AからGETパラメータpage=aを Cというプログラム(ラッパー)に送り、Cの中で、if文で判断し Aに表示させるようにしたいです。 作成するPHPプログラムは、A、B、Cの三つで、AとBの内容は 送信するパラメータが異なるだけでほぼ一緒なので、実質2つです。 execで、コマンドラインを使う方法ではなく、 URL?page=aを使うみたいなのですが、いろいろ試してみましたがうまくいきません。 分かりにくい表現で申し訳ないですが、 どうぞよろしくお願いいたします。

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

内容を勘違いしているかもしれませんが、こんな感じでしょうか? --- a.php start --- <?php echo file_get_contents("http://example.com/c.php?page=a"); ?> --- a.php end --- b.phpも同様に page=b にする --- c.php start --- <?php if ($_GET["page"]=="a"){ echo "Aからアクセスしています"; } elseif ($_GET["page"]=="b"){ echo "Bからアクセスしています"; } ?> --- c.php end ---

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

たとえば <? $self=urlencode($_SERVER["SCRIPT_NAME"]); ?> <a href="c.php?page=<?=$self;?>">c</a> とすれば、自分自身のファイル名をラッパーに渡せそうですが