• 締切済み

【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 │ └─────┘    └─────┘ ※ 図の線の歪みは気にしないで下さい。すみません。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • aigaion
  • ベストアンサー率47% (287/608)
回答No.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の値を気をつけないと危険ですね。

zin_orz_l
質問者

補足

ご返事遅れましてすみません。 早々のご回答有り難う御座います。 え~っと、二つとも試しに行って見たのですが、確かに page2.php → abc.php にはページに切り替りましたが 同時に、page1.php page3.php のページも更新されますよね? 出来れば、page1.php page3.php のページはそのままで更新せず page2.php → abc.php にはページに切り替えたいのです。 何か方法はないのでしょうか? やはり frameset を使用しないと無理なのかな^^;

関連するQ&A

  • ページ切り替えの方法についてです。

    最近まで、フレーム(FRAMESET)でレイアウトを組んでいました。(汗) (参考図) 上フレーム(A.php)name="A" 中フレーム(B.php)name="B" 下フレーム(C.php)name="C" ※ 縦に3段組のレイアウト。 ぞれで、フレームは HTML5 では廃止なり、使用は良くないと言う事で参考図のようなレイアウトを CSSで組んだんですが・・・ 例えば、フレーム使用では 中フレームの B.phpを D.phpページに切り替えをする場合は <a href="D.php" target="B" >Dページ</a> このように target で 簡単に中フレームに D.phpページを表示させる事ができますが CSSでこのような仕組み(ページ切り替え)をする場合はどうやったら良いのでしょうか? イメージとしては・・・ (参考図) 上ヘッダー(#head) 中メイン (#main) 下フッター(#foot) ※ 縦に3段組のレイアウト。 上ヘッダー(#head)の場所で <a href="D.php" >Dページ</a> をクリックした時に 全体をリロードさせずに、中メイン(#main)の場所に、D.phpページを表示したいのです。 できるだけ色んなブラウザに対応する方法で教えて頂けると助かります。 中途半端な知識で対応できず、苦しんでおります。 ちなみに、分かりやすく詳しく教えて頂けると非常に助かります。 もし宜しければ何方か、どうか教えて下さい。宜しくお願いします。  

  • PHPで同一ページ内でページの読み込みについて

    ナビゲーションから、リンクをクリックすると、ページが読み込まれるプログラムを作っているのですが、どのようにすればよいのでしょか?さっぱりわかりません。アドバイスお願いします。 ↓参考 //ナビゲーション <ul> <li><a href="#">リンク1</a></li> <li><a href="#">リンク2</a></li> <li><a href="#">リンク3</a></li> <li><a href="#">リンク4</a></li> </ul> //リンク1がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク2がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク3がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク4がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> ↓イメージ図 index.php内でページの読み込み --------------------------------- | ヘッダー | --------------------------------- --------------------------------- |リンク1|リンク2|リンク3|リンク4| ---------------------------------- ここでページの読み込み --------------------------------- | フッター | --------------------------------- 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 文字・URLの切替えに関してです。

    Javascript で次のようにしました。 (参考図) 上フレーム(A.php)name="A" 中フレーム(B.php)name="B" 下フレーム(C.php)name="C" ※ 縦に3段組のレイアウト。 ▼ A.php <script language="JavaScript"> function abc(url){ parent.B.xxx.innerText=url; } </script> </head> <body> <a href="B.php" target="B" onClick="abc('B.php');">C.phpページのURLを切替える</a> </body> ▼ C.php <body> <td id="xxx">D.php</td> <ul> <li><a href="D.php" target="B">切り替えページ</a></li> </ul> </body> それで A.phpページのリンクをクリックすると・・・ C.phpページの td id="xxx" の D.php のところは、B.php と切替えることはできたのですが C.phpページの a href のところのURL(D.php)を B.php と切替えるには、どうしたら良いのでしょうか? ちなみに、C.phpページはリロードさせないので、PHPの $_SESSION 関数での対応は無理でした。 中途半端な知識で対応できず、苦しんでおります。 ちなみに、分かりやすく詳しく教えて頂けると非常に助かります。 もし宜しければ何方か、どうか教えて下さい。宜しくお願いします。

  • フレームでページ切りかえの後で関数を実行できないでしょうか

    いつもお世話になります。 フレームを左右に分割しています。 左側 frame_left.html    name="left" 右側 最初page1.html    後にページを切り替える name="main" としたとき、 frame_left.htmlで <a href="page2.html" onclick='getTagName();' target="main">ページ2</a> とすると、右側フレームはpage2.htmlに切り替わります。 このとき、getTagName();は、ページが切り替わる前に実行されてしまいます。 つまり、<a href="pa・・・でページを切りかえ、切り替えた後のpage2.htmlのタグ情報を取得したいのですが、page1.htmlのタグ情報を取得してしまいます。 ページが切り替わった後でgetTagName()を実行することはできないものでしょうか? よろしくお願いいたします。

  • FlashからPHPへの変数の渡し方について

    初めまして。beterugiusと申します。 ご質問したいのですが、 まず、上下2フレームのindex.phpファイルがあります。 FLASHファイル(top_image.fla)は、シングルフレームのjpegイメージ(三枚の画像をPhotoShopで合成して、一枚のイメージにしてある。)です。 その.flaファイルを書き出した、.swfコンテンツ上をマウスが移動 すると、コンテンツ上のどの部分にマウスがあるかで、下フレームのTHMLが切り替わるようにしたいので、top_image.swf から、index.phpに対して、GETメソッドでページ番号の変数自身を 渡したいのですが、実際にFLASHコンテンツ上をマウスで動かしてみると、ブラウザのアドレス欄に、GETメソッドのクエリー文字列の「?」 だけは追加されているのですが、肝心の変数が渡されておらず、 下フレームのHTMLも切り替わりません。 どうすればちゅんと動くのか、どなたかご回答いただけないでしょうか? -------------------------------------------------------------- 「top_image.fla」 var sendObj:LoadVars = new LoadVars(); var page:Number; function onMouseMove(){ var x:Number = top_image._x; // グラフィックの中心座標 var y:Number = top_image._y; if( 0 <= y && y <= 316 ){ if( 0 <= x && x <= 255 ){ page = 1; sendObj.send("../php/index.php", "page", "GET"); } else if( 256 <= x && x <= 512 ){ page = 2; sendObj.send("../php/index.php", "page", "GET"); } else if(513 <= x && x <= 766 ){ page = 3; sendObj.send("../php/index.php", "page", "GET"); } } } -------------------------------------------------------------- 「index.php」 <html> <head><title>ActionScript2.0</title> <meta http-equiv="content-type" content="application/x-www-form-urlencoded"> </head> <frameset rows="350,*"> <frame name="top" src="../html/top.html"> <?php // Action ScriptからのPOSTデータの取得 $page = $_GET['page']; switch($page){ case 1: print("<frame name='bottom' src='../html/bottom1.html'>"); break; case 2: print("<frame name='bottom' src='../html/bottom2.html'>"); break; case 3: print("<frame name='bottom' src='../html/bottom3.html'>"); break; } if(is_null($page)){ // $page変数の中身がNULL(未定義)の場合 print("<frame name='bottom' src='../html/blank.html'>"); } ?> </frameset> </html> -------------------------------------------------------------

    • ベストアンサー
    • Flash
  • phpのheader関数でページ移動させるときについて

    現在、作成しているPHPに、 if($_POST[main]){ header("Location: ./main.html"); } 以上のような方法で、name="main"のボタンが押された時にページを移動する、という動作をさせているPHPファイルがあるのですが、これを <a href="./main.html" target="_top"></a> というような、ターゲットを指定させてページ移動させたいのですが、可能なのでしょうか? フレームなどを利用しているので、その対策を行いたいのです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでページネーション

    よくあるページネーションで、効率的な方法を探しています。 知恵をお持ちの方、ご教授くださいませ。自分でもやってみましたがこんがらがってわかんなくなってしまいました。 ←(一つ前のページ) 1 2 3 4 5 6 7 8 9 (次のページ)→ 形はこんな感じです。ヤフーとかグーグルの形です。 現在のページはリンク無し、現在のページが1の時は前へ行く矢印←はリンク無し、同様に最終ページの場合もそのページと→にリンク無しです。 現在のページより前後5ページを出力しますが、1ページ目の時は前が無いため後ろに10ページを出力、同様に最終ページの時は前に10ページ出力します。 つまり、常に当該ページも入れて11ページ出力します。しかしリストすべきページが10ページに満たない場合はこの限りではありません。 またこれはヤフーとかには無い機能ですが、前(または後ろ)に行く矢印と数字の間に、最後のページに行くリンクを作ります。 ←(一つ前のページ) ←←(TOP=1件目) 5 6 ~ 10 ~ 14 15  →→  → このような感じです。 現在考えた(参考にした)のはループで回してページ数とリンクを出力という感じですが、これだと要望をうまく満たせません。 $sql = (略; $result = $sql; $resultcount = $result->numRows();//結果件数 $limit = 10;//1ページに表示する件数 $TOTALresultcount = ($resultcount % $limit);//結果ページ数算出 $NOWPAGE = 1; if($TOTALresultcount >= 1){ for($PAGE_COUNTER = 0 ; $PAGE_COUNTER < $resultcount ; ){ $PAGE_COUNTER++; if($NOWPAGE = = $PAGE_COUNTER){ echo "$PAGE_COUNTER"; }else{ echo '<a href="xxx">'.$PAGE_COUNTER.'</a>'; } } php4です。よろしくお願いします。

    • ベストアンサー
    • PHP
  • $_SESSIONの取りだし方、使い方PHP

    質問失礼いたします。 【1.html】から【A.php】に$_POSTされた値を、$_SESSIONにて下記の通りに格納しています。 $name = $_POST['name']; $_SESSION['name'] = $_POST['name']; $address = $_POST['address']; $_SESSION['address'] = $_POST['address']; $gender = $_POST['gender']; $_SESSION['gender'] = $_POST['gender']; そして、上記の$_POSTされた値を使って、データを検索し20件ずつ表示させて改ページを行っています。 <?php if ($page > 1) { ?> <li><a href="search2.php?page=<?php print($page - 1); ?>">前のページへ</a></li> <?php } else { ?> <li>前のページへ</li> <?php } ?> <?php if ($page < $maxPage) { ?> <li><a href="search2.php?page=<?php print($page + 1); ?>">次のページへ</a></li> <?php } else { ?> <li>次のページへ</li> <?php } ?> 違うかもしれませんが、 アドレスに  &name=○&address=○&gender=○  という風にして、次のページではアドレスにある値を使う みたいなこととは思うのですが、   &name=<?php print($name; ?> とすると、アドレスでは  &name=Array となってしまいます。 セッションに格納した検索条件を次のページにも使うようにはどのようにすればよいのでしょうか。 また、上記の次ページのアドレスに、  &name=○&address=○&gender=○  と表示しないようなやり方もあるのでしょうか?

    • ベストアンサー
    • PHP
  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • PHPからHTMLへの変数の受け渡し

    form.html→page1.php→page2.php というようなページをつくり、form.htmlでテキストエリア等<form>を使いpage1.phpにデータ:nameを送るとします。 その際$name = $_POST['name'];とするとphpでの変数になってしまってpage1のhtml上では認識されませんよね? page1からpage2に移動するときにform.phpでいれたnameのデータも <input type="hidden" name="名前" value="name"> というように使いたいのですがその際page1内でphpでの$nameをhtmlのnameに代入というかデータの受け渡しが必要になるかと思うのですがそれはどのように記述すればいいのでしょうか? ご教授よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう