- 締切済み
リクエストURIによってHTML表示を変える方法
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ファイルにインクルードしています。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tany180sx
- ベストアンサー率63% (239/379)
たぶんこんな感じで。 <?php $img = ''; switch (basename($_SERVER['PHP_SELF'], '.php')) { case 'hoge': $img = 'hoge.gif'; break; default: $img = 'default.gif'; break; } ?> <img src="<?= $img ?>">
- kaiwarepon
- ベストアンサー率49% (47/95)
よく理解できていないかも知れませんが... 条件式を 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ファイルを逆にインクルードする形にしてはどうでしょうか。 まちがっていたらごめんなさい。
補足
ありがとうございます。やってみましたが、ちょっと狙いとは違う結果になってしまいました。私の説明が悪かったのかもしれません。 でも別件でとても参考になりました!
お礼
自己解決しました。 ものすごく初歩的なミスをしてました。 tany180sxさん、kaiwareponさん、ありがとうございました。
補足
ありがとうございます。参考になりました。 重ねて質問で申し訳ないのですが、下記の場合はどのようにしたらいいでしょうか? 他の方も、いい構文がありましたらご教授をお願いします。 例)表示したいページの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)