天使と悪魔選手権

PHPは初心者です。宜しくお願いします。
表示するページによって、コンテンツ画像の表示をデフォルトの物から別の物に変える、ということをしたいのですが、どうもうまくいきません。
記述など間違っていましたらご教授下さい。

------

例)表示したいページのURL→http://***.ne.jp/hoge.php
              http://***.ne.jp/hige.php
  デフォルトの画像名→default.gif
  変更後の画像名→hoge.gif,hige.gif

<?php
$URI = $_SERVER["REQUEST_URI"];
$URI2 = explode ("/", $URI);
$menu = $URI2[2];
?>

<!--ここにテーブルタグなどHTML文書。中略-->

<?php if ($menu == "hoge.php"):?>
<img src="hoge.gif" border="0">
<?php else:?>
<a href="hoge.php"><img src="default.gif" border="0"></a>
<?php endif;?><br>
<br>
<?php if ($menu == "hige.php"):?>
<img src="hige.gif" border="0">
<?php else:?>
<a href="hige.php"><img src="default.gif" border="0"></a>
<?php endif;?><br>

<!--後略-->
※このファイルをiniファイルにしてベースのphpファイルにインクルードしています。

A 回答 (2件)

たぶんこんな感じで。



<?php
$img = '';
switch (basename($_SERVER['PHP_SELF'], '.php')) {
 case 'hoge':
  $img = 'hoge.gif';
  break;
 default:
  $img = 'default.gif';
  break;
}
?>

<img src="<?= $img ?>">

この回答への補足

ありがとうございます。参考になりました。
重ねて質問で申し訳ないのですが、下記の場合はどのようにしたらいいでしょうか?
他の方も、いい構文がありましたらご教授をお願いします。

例)表示したいページのURL→http://***.ne.jp/test/hoge.php
              http://***.ne.jp/test/hige.php
  デフォルトの画像名→hoge01.gif,hige01.gif
  変更後の画像名→change_hoge.gif,change_hige.gif

※デフォルトの状態では、JavaScriptで画像のロールオーバーが入っています。(hoge01.gifにオンマウスでhoge02.gif)

補足日時:2006/06/17 11:19
    • good
    • 0
この回答へのお礼

自己解決しました。
ものすごく初歩的なミスをしてました。
tany180sxさん、kaiwareponさん、ありがとうございました。

お礼日時:2006/06/17 16:56

よく理解できていないかも知れませんが...



条件式を
if($_GET["menu"] == "hoge")と
if($_GET["menu"] == "hige")に変更して

http://***.ne.jp/base.php?menu=hoge
http://***.ne.jp/base.php?menu=hige

ではいけないのでしょうか?
(base.php はベースのphpファイル)

http://***.ne.jp/hoge.php
http://***.ne.jp/hige.php
の形でリクエストをしたいのなら、
hoge.php、hige.phpそれぞれにベースのphpファイルを逆にインクルードする形にしてはどうでしょうか。

まちがっていたらごめんなさい。

この回答への補足

ありがとうございます。やってみましたが、ちょっと狙いとは違う結果になってしまいました。私の説明が悪かったのかもしれません。
でも別件でとても参考になりました!

補足日時:2006/06/17 15:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報