みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【PHP】ページの切り替えについて

HTML で frameset を使用し、例えば、各frame で name="page1" name="page2" name="page3"などと名前をつけて page2 の名前のページを abc.php のページにリンクで変更する場合、page2 のページ内のソースで

<a href="abc.php" target="page2">ページ4</a>

とし、イメージ的には下記の(1)図の様な感じで、target で指定した frame のページの所だけ abc.php のページに切り替えることができますが

(1)図
┌─────┐    ┌─────┐
│  page1   │    │  page1  │
├─────┤    ├─────┤
│  page2   │ →  │ abc.php  │
├─────┤    ├─────┤
│  page3   │    │  page3  │
└─────┘    └─────┘

この仕組みを PHP で、例えば、xyz.php のページで

<?php require("page1.php");?>
<hr>
<?php require("page2.php");?>
<hr>
<?php require("page3.php");?>

require を使用し各ページを読み込み(1)図の様な感じのフレーム式にした場合、page2.php のページからリンクで、page2.php のページだけを abc.php のページに切り替える場合どうしたら良いのでしょうか?

イメージ的には下記の(2)図の様な感じです。

(2)図
┌─────┐    ┌─────┐
│ page1.php │    │ page1.php │
├─────┤    ├─────┤
│ page2.php │ →  │ abc.php │
├─────┤    ├─────┤
│ page3.php │    │ page3.php │
└─────┘    └─────┘

※ 図の線の歪みは気にしないで下さい。すみません。

投稿日時 - 2008-07-09 13:40:09

QNo.4163015

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

やり方はいろいろあるかと思いますが・・・

たとえば、xyz.php がpage1~3.phpを表示しているなら
xyz2.phpを作ってその中に、page1 abc page3.phpを読み込むように記述して
xyz.phpのpage2から呼び出すとかはどうです?

それか、xyz.phpに以下のように書いておいて
<?php require("page1.php");?>
<hr>
<?php require($file);?>
<hr>
<?php require("page3.php");?>

他のページから
xyz.php?file=abc.php
などと呼び出す方法もありますが、$fileの値を気をつけないと危険ですね。

投稿日時 - 2008-07-09 16:50:03

補足

ご返事遅れましてすみません。
早々のご回答有り難う御座います。

え~っと、二つとも試しに行って見たのですが、確かに
page2.php → abc.php にはページに切り替りましたが

同時に、page1.php page3.php のページも更新されますよね?

出来れば、page1.php page3.php のページはそのままで更新せず
page2.php → abc.php にはページに切り替えたいのです。

何か方法はないのでしょうか?
やはり frameset を使用しないと無理なのかな^^;

投稿日時 - 2008-07-12 06:56:06

あなたにオススメの質問