• 締切済み

ボタンを押すことでincludeの値を変更するには?

ボタンを押すことでincludeの値を変更するには? HTMLとPHPを利用してウェブサイトを制作していているのですが、リンクに関してわからないことが出てきました。 現在index.htmlに以下の記述をしています。 <div id="menu"><?php include("menu.php"); ?></div> <div id="main"><?php include("main.php"); ?></div> menu.phpにリンクを記述して、それを押すことで<div id="main">に変化を与えたいのですが、そういうことは可能でしょうか? 具体的には<div id="main">内の<?php include("main.php"); ?>を<?php include("page2.php"); ?>などとできればうれしいのですが... ActionScriptでは出来たのですが、phpではどうすればいいのでしょうか...? 目的はindex.htmlなどを一度書き上げるだけで、あとの要素は全て簡潔にすませロードさせるだけにして管理を簡単にすることです。 メニュー->サブメニュー展開->内容表示 と三行程を行うのに、普通だとそれぞれ メニューのあるページ、左記に加えサブメニューの展開されたページ、左記二つを含んだ内容のページと、三つも必要になり大変です。 なのでボタンを押すと指定した要素に別のものをロードできたら...と思って質問させていただきました。 よろしくお願いいたします。

  • Ocard
  • お礼率66% (43/65)
  • PHP
  • 回答数1
  • ありがとう数8

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

非同期でおこないたならAjaxでやる。 同期してもよいなら単純にボタンをsubmitで処理して、 フォームをつかってページをよみなおします。

関連するQ&A

  • PHPファイルをincludeしてHTML表示する

    お世話になります。 PHP含めプログラム初心者の者です。 どうか知恵をお貸しください。 現在制作しているHTMLサイトがあります。レイアウトはCSSです。 そのうちのひとつのコンテンツのブログページをサイト内WordPressで更新できるようにしたいと考えています。本来なら全てのページをWordPress化したほうがいいのでしょうが、新たにまたいろいろ記述する時間がないもので、とりあえずはblog.htmlなページのコンテンツ表示領域にWordPressで作ったindex.phpが表示されたらいいなと考えております。 ネットでいろいろ調べた結果、「phpファイルをincludeする」という方法によって、それをhtmlファイルで表示する方法があるようです。そこで質問なのですが、具体的にどのようにソースを記述すればそれは可能になるのでしょうか。 (1).htaccessに「AddType application/x-httpd-php .html」と記述する。 (2)表示したいHTML部分に「include(dirname(__FILE__).'/index.php');」と記述する。 とありましたがそれだけではできませんでした。具体的にそうしればいいか教えていただけないでしょうか。(htmlの拡張子をshtmlにするとかいう情報もありましたが定かではありません。)PHPに関しては本当に初心者な者で、変な質問をしているかもしれませんがどうかよろしくお願い致します。 ※参考にした情報ソースは下記です。 http://www.yusk.org/memo/php-memo/php_include_001.html ※HTMLソースは下記です。 <body> <div id="header"> ~略~ </div> <div id="contens"> <div id="leftmenu"> ~略~ </div> <div id="rightmenu"> <div id="rightbox-inside"> <div id="rightbox-inside-txt"> <p class="title">BLOG</p> <p class="standard"> include(dirname(__FILE__).'/index.php');(←ここにブログを表示させたい) </p> </div> <div style="clear:both;"></div> <div id="rightbox-buttom"> </div> </div> </div> </div> <div id="footer"> ~略~ </div>

    • ベストアンサー
    • PHP
  • includeの仕方について

    いつもお世話になっております。 \Apache2\htdocs以下に、 public_htmlーindex.php | ーrrrフォルダーconfig.php ー main.php を作りました。 それぞれ、 index.php <?php $CONF['id'] =1; include('./rrr/config.php'); include($DIR_hoge."main.php"); ?> config.php <?php // main hoge directory $DIR_hoge= '/public_html/rrr/'; ?> main.php <?php echo "main.phpが読み込まれました!<br />"; echo "あなたのIDは、".$CONF['id']."です。"; ?>と書きましたが、index.phpはmain.phpが読み込めていません。 Warning: include(/public_html/rrr/main.php) [function.include]: failed to open stream: No such file or directory in.... 何か書き間違いがあるのでしょうかよろしくお願いします。

    • ベストアンサー
    • PHP
  • 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
  • includeでホームページの作り方

    よろしくお願いします。 例えば index.html  menu.php images(フォルダー)  test(フォルダー)    |__test.html test2(フォルダー)    |__test2.html という状況で、menu.phpは全ファイに共通して使いたいので includeさせます。 menu.phpは画像を使っているのでimagesフォルダーからimg src しています。 しかし、indexファイル以外ではmenuで使用している画像がリンク切れを起こしてしまいます。 みなさんはどうやってincludeをつかっていますか? 自分の使い方というより考え方が間違っているのしょうか? よろしければ皆さんの上手い使い方を教えてください。

    • ベストアンサー
    • PHP
  • includeの使い方

    includeを連続して使いことは可能でしょうか? 具体的には、index.phpに下記記述を入れて、 <?php include("test.php"); ?> test.phpには下記の記述だけにしたいのですが、これは問題ありますか? <?php include("./company/".mt_rand(1,10).".php"); ?> 動かしてみたら問題なさそうなんですが、もっとスマートな方法はないのかと思いまして。

    • ベストアンサー
    • PHP
  • セッション部分のインクルード

    お世話になっております。 PHPを使ったHTMLページを作成しているのですが、 セッション部分がうまく動きません。 index.phpページの一番上部に、 <?php include "http://www.○○○.com/lib/include/base.php"; ?> というように記述し、 base.phpには、 <?php session_start(); if(!isset($_SESSION["ses_ref"])){ $_SESSION["ses_ref"]= $_SERVER["HTTP_REFERER"]; } と記述しております。 セッション部分をインクルードせずに直接index.phpに記述した場合は、きちんと動くのですが、インクルードすると動きません。 (変数を取得できません。) セッション部分をインクルードすることはできないのでしょうか。 ご教授くださると非常にありがたいです。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHP includeでメニューを作る時の質問

    PHP includeでメニューを作る時の質問 Webページを作成するにあたり、PHPを使用してメニュー部分を includeで取り込んで作成することにしたのですが、 メニューの中の今見ているページがわかり易いように、 今見ているページのメニュー部分の色が変わっているようにするには どうしたらよいでしょうか? それぞれのページにIDみたいのを定義しておいて、includeで読み込まれるPHPがIDを読んで PHP側にあるIF文(?)でIDによって色を変えるという判断ができそうな気がするのですが、 具体的にどうしたらよいかがわからず・・・ どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • インクルードファイルからの相対パス

    main.php: <?php include('x/sub.php'); ....... ?> x/sub.php: <?php $a=file('data.txt'); ....... ?> において data.txt は main.php と同じディレクトリになければなりません インクルードされたファイルからファイルを呼び出すときに インクルード先からの相対パスでファイルを指定できるようにできないでしょうか? つまり上の場合にはdata.txtがsub.phpと同じディレクトリにあるようにです

    • ベストアンサー
    • PHP
  • fputsで書き込みを行う際に、includeを使用したいです。

    phpの初心者です。 どうぞよろしくお願いします。 ユーザーがクリックしただけでページが生成されていくといったような サイトを現在作成しています。 以下、構造です。 index.php regist.php footer.inc page(dir)---a(dir)-------index.php       └b(dir)-------index.php       └c(dir)-------index.php 動作としては、index.php(TOP階層)でリンクをクリックするとregist.phpにジャンプし、 regist.phpのプログラムの中で、page(dir)の中にa,b,c,d,e…とディレクトリが 自動生成されて、中にindex.phpファイルを生成します。 regist.phpの最後でheader("Location:")を使用し、生成されたページに自動的にジャンプします。 生成されたページのフッターに今までクリックされたリンクという紹介のようなものがあります。 そこの記述が regist.php内の記述/////////////////// ob_start(); include("footer.inc"); $footer = ob_get_contents(); ob_end_clean(); fputs($fp, "$footer"); footer.inc内の記述/////////////////// <?php $arr = scandir('./page/', 1); foreach($arr as $key => $dir){ //リンク名を日本語に変換 $dir = str_replace("http://".$domein."/page", "http://".$domein."/page/", "$dir"); print "<a href=\"http://".$domein."/page/".$dir."/\">$dir_url</a> \n"; } ?> 上記のようなプログラムですと、a,b,c,d…x,y,zと順番にディレクトリとページが生成されていった場合に aの中のindex.phpではリンクなし。 bの中のindex.phpではaへのリンク。 cの中のindex.phpではaとbへのリンク。 dの中のindex.phpではaとbとcへのリンク。 eの中のindex.phpではaとbとcとdへのリンク。 一つずつリンクが増えていくようになってしまってます。 これを、自動生成されたページでは、常にクリックされたすべてのリンクが出るようなものにしたいというのが希望です。 aの中のindex.phpではaとbとcとdへのリンク。 bの中のindex.phpではaとbとcとdへのリンク。 cの中のindex.phpではaとbとcとdへのリンク。 dの中のindex.phpではaとbとcとdへのリンク。 eの中のindex.phpではaとbとcとdへのリンク。 なのでregist.phpの記述を… 修正後:regist.php内の記述/////////////////// fputs($fp, "<?php include(\"../../footer.inc\"); ?>"); こちらですと、読み込み形式になり常に新しい情報が入るかな?と思い試したのですが思うように動きません。 修正前:regist.php内の記述/////////////////// ob_start(); include("footer.inc"); $footer = ob_get_contents(); ob_end_clean(); fputs($fp, "$footer"); 上記ですと、テキストを書き込む形になりますので、常に新しい情報ではありません…。 分かる方、ご回答頂けますと幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 同一phpファイルからのinclude

    ってできるんですか? 例えばindex.phpの16行目辺りの文章をDIVで囲ってtitleつけて、それを同一index.phpファイルの100行目辺りにphp includeでまた表示…外部ファイルにして両方にincludeすればいいんですが、できるのかなぁって。 よろしくお願いします。

    • 締切済み
    • PHP