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

このQ&Aのポイント
  • ナビゲーションから、リンクをクリックすると、ページが読み込まれるプログラムを作る方法がわかりません。
  • 同一ページ内でのページの読み込みについてアドバイスをお願いします。
  • 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
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

読み込み自体は if($_POST){ //読み込まれた際の処理 } で出来ますが、リンク毎に別の処理となると、GETパラメータなどを使った方が簡単かもしれないですね。 例: <a href="http://hogehoge.php?key=1> リンクのパスに「?hoge=」の形でユニークなパラメータをセットしてやり、処理側で <?php if($_GET["key"] == 1){ //リンク1の場合の処理 } ?> のようにしてやればスマートかなぁ~っと思います。

stylehorse
質問者

お礼

回答ありがとうございます。 $_GETを使うのではないかなーと思っていましたが、 このような丁寧なソースまで書いていただいて、確信を持てました。 トライしてみます。 ありがとうございました。

その他の回答 (1)

  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.2

すみません。 例: <a href="​http://hogehoge.php?key=1> これは 例: <a href="​http://hogehoge.php?key=1">リンク1</a> こうですね。 失礼しました。

stylehorse
質問者

お礼

教えていただいたとおり、実装しましたら、 うまくいきました。 ありがとうございました。

関連するQ&A

  • モーダルウィンドウでページ内遷移する方法

    remodal.jsを利用して開いたモーダルウィンドウから、元ページ内遷移するようにリンクを設置した場合、クリックで遷移と同時にモーダルウィンドウを消す方法をご存知でしたら教えていただけますでしょうか。 モーダル内のhtml抜粋 <ul> <li><a href="#hoge">ほげ</a></li> <li><a href="#hoge2">ほげ2</a></li> </ul> remodal.js https://github.com/VodkaBears/Remodal

  • 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でカテゴリページ別に記事を表示

    例えば以下のようなカテゴリメニューがあり、 りんごをクリックすると、ringo.phpにりんごカテゴリに属する記事をすべて表示する。 っといったようなことをする場合、wordpressを使わずにやるにはどうすれば良いのでしょうか? <ul> <li><a href="ringo.php">りんご</a></li> <li><a href="mikan.php">みかん</a></li> <li><a href="budou.php">ぶどう</a></li> </ul> 一番簡単そうなのはカテゴリメニューに以下のようなidをつけて、 もしidが1ならばりんごの記事をすべて書き出すのようにすれば良いのかと思いますが、 このようなやり方をしているサイトはあまり見かけません。 皆さんはブログやCMSでは一般的にどのようなやり方をされているのでしょうか? <ul> <li><a href="ringo.php?id=1">りんご</a></li> <li><a href="mikan.php?id=2">みかん</a></li> <li><a href="budou.php?id=3">ぶどう</a></li> </ul>

    • ベストアンサー
    • PHP
  • phpの文字列表示

    phpで質問です。 ランダムな数字、1~100の間で70以上が出れば表示を変える というプログラムをしたのですが、 70以上が出るとなぜか表示が崩れます。 正常に表示する方法を教えてください。 コード $rand = mt_rand(1,100); echo $rand; if($rand<70) { echo '<ul> <a href="#"><li>A</li></a> <a href="#"><li>B</li></a> <a href="#"><li>C</li></a> <a href="index.php"><li>D</li></a> </ul>'; } else { echo '<ul><a href="example_sub4.php" target="_brank"><li>close</li></a> <a href="#"><li>E</li></a> <a href="#><li>F</li></a> <a href="index.php"><li>G</li></a>'; } ?>

    • ベストアンサー
    • PHP
  • テンプレート化したphpのmenu.php内で<a href="#">の戻り値が重複してしまう。

    PHPの勉強の為、簡易テンプレートを作成しているのですが、config.php内で指定したURLをmenu.phpで実行させたところ戻り値が重複して困っています。 ※wordpessなどで見かけるURLテンプレートタグによって、<a href="この部分">のhttp~のURLを書かなくてもいいようにしたいです。 【各ファイル】 ●index.php ●config.php [templatesフォルダ] footer.php header.php ●menu.php style.css [htmlフォルダ] ●index.php トップのindex.php内では、<?php require_once('config.php'); ?>にてconfig.phpを読み込んでいます。 メニューはパーツ分けしたので、<?php include "templates/menu.php"; ?>にて読み込んでいます。 config.phpでは、URLの戻り値として、 <?php define(SITE_URL, "http://www.yahoo.co.jp"); ?> を指定しています。 上記をtempleatesフォルダ内のmenu.phpで実行させました。 <ul> <li><a href="<?php echo SITE_URL; ?>">HOME</a></li> <li><a href="<?php echo SITE_URL; ?>/html/index.php">テスト</a></li> </ul> これで、絶対パスを書かなくてもURLが作れると思ったのですが、実際の戻り値が、 http://www.yahoo.co.jphttp://www.yahoo.co.jp と重複してしまい、ページ移動ができません。 これは、どうしてなのでしょうか? どなたか教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • リンクページがちゃんと画像表示されない

    PHP5.0、Smartyで開発しています(個人サイト) リンクを押すと、リンクページ(自サイト)は表示されるのですが、 画像などが表示されないことがあります。 .tplファイルなので、↓の同じリンクをいくつものファイルに書きましたが、ふつうにちゃんと表示されるページもあれば、リンクページの画像落ちといったページにもなります。 これはどうしてでしょうか? </div><!--header--> <ul id="menu"> <li><a href="{$info.back_url}">TOP</a></li> <li><a href="{$info.http_url}">記事一覧</a></li> <li><a href="{$info.http_url}/archive">過去ログ</a></li> <li><a href="{$info.http_url}/search">記事検索</a></li> <li><a href="{$info.http_url}/rss">RSS</a></li> <li><a href="{$info.https_url}/admin">管理者用</a></li> </ul> <img src="./image/main_img.jpg" alt="" width="760" height="340" id="main-img" />

    • ベストアンサー
    • PHP
  • グローバルナビゲーション等の共通領域

    グローバルナビゲーションをliで作っております。 <div id="header"> <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> <li><a href="#">メニュー5</a></li> </ul> </div> 上記グローバルナビゲーションを、3ページで使用しております。 3ページ作成後、メニュー5が不要になったためメニュー5を消すことにしました。 当然、3ページすべてでグローバルナビゲーションの修正が必要になりました。 phpでhpを作成する場合、共通部分をheader関数で抜きだし作成し、共通部分+各ページ異なる部分を結合すれば、 グローバルナビゲーションの修正は、共通部分一か所の修正ですむと思います。 htmlとcssのみでグロバールナビゲーション(=共通部分)を使用し、HPを作成する時、 phpのheader関数のように、共通部分を抜き出し、必要時に結合させるといったことは できないのでしょうか? やはり、3ページすべてのグローバルナビゲーションの修正をするしか方法は ないのでしょうか? ご教授お願いします。

    • ベストアンサー
    • HTML
  • 各ページごとにjsで表示内容を変更したい

    ページごとにディレクトリ名を判別して表示内容を変更するスクリプトを書きたいのですが、現状ieでのみ動作が不安定です。yuga.jsに組み込む形で記述しています。 //script------------------------ var filePath = location.href; var a = filePath.split('://'); schema = a[0]; var d = a[1].split('/'); host = d.shift(); var f = d.pop(); var dirs = d; if(dirs == 'hoge'){ var target = '<li><a href="..\/hoge\/index.html">hoge1<\/a><\/li>' + '<li><a href="..\/hoge\/hoge2.html">hoge2<\/a><\/li>' + '<li><a href="..\/hoge\/hoge3.html">hoge3<\/a><\/li>' } document.getElementById('listWrap').lastChild.innerHTML(target); //html----------------------------- <div id="listWrap"> <img src="./images/listTitle.jpg" alt="" width="**" height="**" /> <ul id="list"></ul> </div> 上記スクリプトを外部から読み込んでonloadで実行していますが、ieでは document.getElementById('listWrap')がnullを返すことが多く、表示される場合とされない場合があります。 ご教授よろしくお願いします。

  • html側のアンカーから値をphpに渡してincludeで表示したいの

    html側のアンカーから値をphpに渡してincludeで表示したいのですがうまくいきません。 どなたか教えてください。 index.html -------------------------------------------- <html> <body> <a href="main.php?mode=kaisya">会社概要</a> </body> </html> ------------------------------------------- main.php ------------------------------------------ <? $mode = $_GET('mode'); include "header.html"; include "$mode.html"; onclude "footer.html"; ?> ----------------------------------------- ↑でうまく行きません main.phpの$mode = $_GET('mode');の記述を 消すとヘッダーとフッターは表示されるんですが記入すると何にも表示されません --------------------------------------- index.html(main.phpへのリンクがあるファイル) main.php(ヘッダー、フッター、ボディーをincludeで表示) header.html(ヘッダー部分) footer.html(フッター部分) kaisya.html(body部分) ---------------------------------------- テストなので上記ファイルは全て同ディレクトリにいれてます 原因を調べていますが、分からず、、、、、 どなたか教えて下さい

    • ベストアンサー
    • PHP
  • jqueryの質問です

    jqueryで .tes01と.tes02は同じ番目をセットと考え .tes01 の画像をクリックした時に .tes02のリンクをクリックした状態にしたいと思っています。 .tes02のURLの取得は出来たのですがそれ以降が出来ないので教えてもらえますでしょうか。 $(function(){ $("ul.tes01 li").click(function(){ var tes01li = $(this).index(); var tes02li = $(".tes02 li").find("a").eq(tes01li).attr("href"); tes02li.click(); }); }); <ul class="tes01"> <li><img src="img01"></li> <li><img src="img02"></li> <li><img src="img03"></li> <li><img src="img04"></li> </ul> <ul class="tes02"> <li><a href="#link01">link01</a></li> <li><a href="#link02">link02</a></li> <li><a href="#link03">link03</a></li> <li><a href="#link04">link04</a></li> </ul>

専門家に質問してみよう