• ベストアンサー

ホームページのコンテンツの切り替え方

いつもお世話になります。 PHPにてホームページを作成しています。 テーブルでヘッダー、ボディー、フッターを区切っています。 カウンターはincludeにてヘッダーに読み込んでいますが、 コンテンツも同様にボディーに読み込んで作成しようと考えています。 実際に多数PHPで作られたサイトがあると思いますが、 どのように作成したら運用を簡素化出来るのでしょうか? できれば経験者の方よろしくお願いします。

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

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

  • ベストアンサー
回答No.1

コンテンツを作成する時にMVCって考え方があります。 MVCの内容 Model  ・・・ 基本処理を行う部分 View   ・・・ 表示処理を行う部分 Control  ・・・ 処理の振り分けを行う部分 の3つに分けようって感じですね。 これを上手く作ることで簡素化?が出来るようになると思います。 >コンテンツも同様にボディーに読み込んで作成しようと考えています。 このような処理はViewの部分にあたります。 テンプレートエンジンというものがあり、これを利用することでさらに簡素化が出来たりもします。 代表的なテンプレートエンジン Smarty PEAR::HTML_Template_IT HTML Template これを上手く利用することにより、HTMLをオブジェクト化したり、HTMLとプログラムの仕切りを作るようなことが出来たりします。 オブジェクト指向 MVC Smarty その辺の書籍やWEBをさらっと読むとなんとなく見えてくるかも知れません。

その他の回答 (1)

  • Yumikoit
  • ベストアンサー率38% (849/2209)
回答No.2

#1の方の方法でよいと思います。 よいサイトがありましたのでご紹介します。 http://www.stackasterisk.jp/tech/php/php02_01.jsp 記事の前後も合わせて参考にされるとよいと思います。

関連するQ&A

  • ホームページコンテンツの背景とは

    いつもとてもお世話になっています。 本当にアホな質問なのですが、教えていただきたいです。 「ホームページの背景」というと、通常コンテンツの外側に表示されるもののことを言いますよね? この背景ではなく、ページそのもの=コンテンツ自体の背景に色をつけたり、画像を表示させたいのですが、それは可能でしょうか? 背景画像をおいて、その上に文字を打ったり、テーブルを配置したり、通常のサイト作成をしたいのですが…。 またこのことを「背景」とは呼ばないのでしょうか? 全く基本的な質問で恐縮ですが、ご教授いただければ幸いです。 どうぞよろしくお願いします。

  • 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
  • namazuのインデックス作成で・・・

    現在、htaccessにてphpファイルをhtml拡張子で使えるようにして利用しているディレクトリがあります。 そのhtmlは大量にありそれぞれ内容は違いますが、ヘッダ、フッタ部分は共通ファイルをインクルードしているので同じになっています。 インクルードファイルは、ヘッダ、フッタ共に静的なhtmlで、本体自体もインクルードの記述部分以外は静的なhtmlです。 <html> <?php include('header.html'); ?> <body> ~ ここが各htmlによって内容が違う ~ <?php include('footer.html'); ?> </body> </html> という構造になっております。 このhtml群をnamazuを使ってディレクトリ内の全文検索を行えるようにしようかと考えているのですが、上述のようなhtmlの場合、インクルードされるheader.htmlやfooter.htmlに書かれている内容はインデックスされるのでしょうか? インデックスさせる・させない の選択がnamazuの設定によって出来るのであれば一番ありがたいのですが・・・。 宜しくお願い致します。

    • 締切済み
    • PHP
  • ヘッダとフッタが固定でコンテンツのみスクロール可能

    いつもお世話になります。 ヘッダ部とフッタ部は固定で、コンテンツ部のみで表示エリアを超えた場合スクロールバーを 表示する、というHTMLを実現するにはどうすればよいでしょうか。 (ウィンドウサイズに応じてコンテンツ部は変動するが、ヘッダとフッタは常に固定) イメージとしては以下の構成になります。いろいろ調べてみたのですが、ヘッダとフッタは固定 できてもスクロールバーがウィンドウ全体に表示されてしまうものばかりでした。 -------------------------------- ヘッダ(固定) (スクロールバーなし) -------------------------------- コンテンツ (スクロールバーあり) -------------------------------- フッタ(固定) (スクロールバーなし) -------------------------------- フレームは使用せず、CSSのみで実現する方法を教えて頂けませんでしょうか。 IE7、IE8で動作させたいと思っています。 宜しくお願いします。

    • 締切済み
    • CSS
  • htmlファイルをincludeして、文字列変換して表示

    お世話になります。 /index.php  /aaa/index.phh    /aaa01.jpg    /aaa02.jpg  /bbb/index.php    /bbb01.jpg    /bbb02.jpg    /bbb03.jpg と、いうようなフォルダ構造でホームページを作成して、 /index.php で <body>  ヘッダだよ<br>  include_once("aaa/index.php");  フッタだよ<br> </body> とすると、aaa/index.php に書かれてある文字を表示することができます。 しかし、画像 aaa01.jpgなどは、/以下になく、/aaa/以下にあるため、 表示されません。 そこで、include_onceと同時に <img src="aaa01.jpg" となっているところを、 <img src="aaa/aaa01.jpg" と、書き換えられないものかと考えた次第です。 やりたいことは、同じヘッダフッタを持ったページで、その中に フレームタグなどを使用することなく、 別々のフォルダに別々に作成したページ、/aaa/index.php /bbb/index.php などを 表示したいと、いうことです。 全く別の発想でも構いません、よい案などあればご紹介ください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • php include がおかしい

    下記のようにヘッダーとフッターをincludeしたindex.php をみると firefoxでは正常ですが、IEではフッターしか表示されません。 <?php include 'header.php'; ?> <?php include 'footer.php'; ?> どうしてでしょうか?

    • ベストアンサー
    • PHP
  • dreamweaver cs3 でのホームページ作成について

     お世話になります。 以前HPBで全てテーブルレイアウトで添付画像のようなHPを作成致しました。 サイトのページ数が約15枚ほどで、画像の「1,ヘッダー」 「3,左メニュー」「4,フッター」は全てIフレームにして別のHTMLを表示させるようにしています。 「1,ヘッダー」「3,左メニュー」「4,フッター」は全てのページで共通 で表示され「3,コンテンツ」のみ内容が切り替わるようにしています。  この度ページを更新しようと思ったのですが、段々と左メニューやコンテンツ、フッター等内容が多くなってきてしまい、なおかつテーブルの入れ子に次ぐ入れ子という感じでレイアウトしていたために、どれがどのテーブルかわからず、レイアウトを調整しようと色々といじっていたらレイアウトがぐちゃぐちゃになってしまいました。 そこでこの際勉強も兼ねて一からサイトを作り変えようと思っております。ソフトはdreamweaver cs3でやってみようかと思っています。 cssを使って何とか添付画像のようなレイアウトは作れたのですが、 ヘッダー内や左メニュー内にも細かな段組みレイアウトが作れません。 通常細かな段組み(ヘッダー部分のメニューや左メニューのレイアウト)についてはやはりテーブルでのレイアウトが正しいのでしょうか? まだdreamweaver cs3も使い始めて間もないもので細かなレイアウトの方法などが理解できていません。今後のサイト更新のためにも分かりやすい形で作りたいのですが・・・。 どなたかレイアウトについての参考URLや方法などご存知の方がいらっしゃいましたらご教授下さいませ。 よろしくお願い申し上げます。

  • HTMLの下階層から相対パスをしてもだめ

    いつもお世話になっております。 今回はhtmlについて教えて下さい。 まずトップページを作成しました。 ヘッダー・メニュー・フッターはインクルードをしています。 他の画像内容index.htmlと同列にimgフォルダを使ってます。 ここまでは完成しているのですが 次に新規でabcというディレクトリを作成しました 中身のindex.htmlは、ひとまずトップページのindex.htmlをコピーして 修正を行いcssや相対パスや画像の書き換えは行いました。 コンテンツの中の画像は反映されるのですが ヘッダー・メニュー・フッターの画像がなぜか表示されません。 普段はPHPを使用しているのですが 画像は表示されないことがなかったため 何か間違っているのか教えていただきだいと思い書き込み致しました。 トップページは普通に表示されます ディレクトリを作るとcssは効いていますが 画像のようになります。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • ヘッダー・左メニュー・コンテンツ・フッターの総称

    はじめまして。 ヘッダー・左メニュー・コンテンツ・フッターの総称を教えて下さい。 「ホームページを構成する要素」とか「レイアウトを決める際の主要部分」とかいう説明調の言葉は思いつきますが、総称する単語がわかりません。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • htmlでヘッダやフッタを共通化したい

    ヘッダ、サイドバー、コンテンツ、フッタというレイアウトで 100ページぐらいあるWebサイトを構築する場合、 ヘッダやフッタに変化がないのであれば、共通化したくなります。 (変更があった時に、1箇所変更すればいい、という風にしたいため) そこで、例えば、PHPが使えるところであれば、includeすればいいのですが、 使えない場合、JavaScriptを使えば可能ではあると思います。 しかし、JavaScriptはOffにされた時のことを考えると このやり方はリスクがあるような気がします。 そこで、知りたいのですが、htmlを共通化したい場合、 PHPなどを使う以外に、どんなやり方があるのでしょうか? できれば、サーバサイドに仕込む方法ではないやり方でお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう