データベースを使った商品レビュー管理システムを作ろう(2)~システム構成とフロントエンド~
データベースを使ったレビュー管理システム。
2回目は、システム全体の構成と、商品ページのコードを紹介しま
システム全体構成
システムのファイルは以下のような構成になっています。
|
|-index.html
|-style.css
|-review---admin---adduser.php
| |-dashboard/php
| |-delete.php
| |-display.php
| |-login.php
| |-logout.php
| |-modpass.pho
| |-reply.php
| |-update.php
| |-userdelete.php
| |-userlist.php
|
|-dbinfo----db_control.php
|-db_display.php
|-db_info.php
|-db_input.php
結構ファイル数が増えてしまいましたが、いろいろ機能を追加してら困難なっちゃいました。
これから、各ファイルの解説をしていきますから、不要と思われるものは適当に消してください。
index.html
このファイルが商品ページになります。
今回はサンプルということで、1ページしか作りませんでしたが、このページのコードを参考に、各商品ページを作ってください。
ちなみに、SEOの関係もあり、商品ページはhtmlの拡張子にしてあります。
が、中にはphpコードも入っているので、.htaccessファイルに、htmlでもphpを動かすコードを記載してください。
このコードは各サーバーごとに違っていますので、お使いのサーバーのマニュアル等で探してみてください。
review-adminフォルダー
reviewフォルダー内のファイルが、レビューを保存したり、必要に応じで出力したり、管理したりするプログラムになります。
その中で、adminフォルダー内に入っているファイルは、レビューデーターを管理するためのプログラムです。
例えば、管理用画面を出力したり、レビューを修正したり、削除したり、はたまた管理者の登録やパスワード変更などをするプログラムです。
つまり、バックエンド用のプログラムをこのadminフォルダーにまとめました。
きっと有能なプログラマーさんなら、もっと少ないファイルにまとめられるんじゃないかと思いますが・・・
review-dbinfoフォルダー
このdbinfoフォルダーに入っているファイルは、フロントエンドプログラムです。
商品ページにレビュー一覧を出力させたり、ユーザーが入力したレビューをデータベースに入れたりするプログラムです。
商品ページが少なければ、これらプログラム(PHPコード)は直接商品ページに打ち込んでもよかったのです。
でも、コードが結構長くなってしまったこと。
それと、商品ページはサイトによっては数百もあるかもしれないので、ファイルにしてそれを呼び出すようにしました。
こうすればPHPコードを修正するとき、このファイルだけいじればいいしね。
参考にしたコンテンツ
実はこのレビュー管理システムですが、一から自分で考えたわけじゃないんです。
実はパクリ・・・じゃなくてすごく参考にさせてもらったコンテンツがあります。
それが、こちらのページ
WordPressのようなコメント管理システムを作ってみよう
こちらのシステムはコメント管理システムですが、それをレビュー用に改良させてもらいました。
ただ、内容を見るとわかりますが、かなり魔改造させていただき、ほぼ原形を留めぬようになりましたが・・・
とても参考になりました。
ありがとうございました!
index.htmlページのコード
では、商品ページでもあるindex.htmlページのコードです。
<?php
//商品コードの設定
$sku = 'dj0001';
require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_control.php';
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>レビューサンプルページ</title>
<meta name="robots" content="noindex" />
<link href="/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="wrap">
<h1>商品ページ</h1>
<div class="product">
<h2>商品詳細</h2>
<p>商品名:ダウンジャケット</p>
<div class="product-detail">
<div class="product-image">
<p><img src="/img/down-jaket.jpg" alt="商品写真ダウンジャケット"></p>
</div>
<div class="product-spec">
<div class="spec">
<h3>商品スペック</h3>
<p>商品型番(SKU):dj001</p>
<p>サイズ:フリー</p>
</div>
<div class="price">
<h3>商品価格</h3>
<p>12,000円(税込み)</p>
</div>
</div>
</div>
</div>
<div class="review">
<h2>商品レビュー</h2>
<h3 id="review_list">レビュー一覧</h3>
<?php require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_display.php'; ?>
<h3 id="review_input">レビュー投稿</h3>
<?php require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_input.php'; ?>
</div>
</div>
</body>
</html>
最初のphp部分
<?php
//商品コードの設定
$sku = 'dj0001';
require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_control.php';
?>
データベースの中には、いろいろな商品のレビューが格納されます。
どのレビューがどの商品のものかを区別するために、すべてのレビューにはskuという商品コードを付けています。
最初に、このページの商品コードを決めておきます。
その下の「require~」というコードは、商品レビューを保存したり、出力したりするphpコードのファイルを呼び出すためのコードです。
review-dbinfoファイルに入っているdb_control.phpというファイルを呼び出します。
htmlコード部分
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>レビューサンプルページ</title>
<meta name="robots" content="noindex" />
<link href="/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="wrap">
<h1>商品ページ</h1>
<div class="product">
<h2>商品詳細</h2>
<p>商品名:ダウンジャケット</p>
<div class="product-detail">
<div class="product-image">
<p><img src="/img/down-jaket.jpg" alt="商品写真ダウンジャケット"></p>
</div>
<div class="product-spec">
<div class="spec">
<h3>商品スペック</h3>
<p>商品型番(SKU):dj001</p>
<p>サイズ:フリー</p>
</div>
<div class="price">
<h3>商品価格</h3>
<p>12,000円(税込み)</p>
</div>
</div>
</div>
</div>
この部分は、一般的なhtmlコードです。
自分のサイトに合わせてコーディングしてください。
レビュー部分
<div class="review">
<h2>商品レビュー</h2>
<h3 id="review_list">レビュー一覧</h3>
<?php require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_display.php'; ?>
<h3 id="review_input">レビュー投稿</h3>
<?php require $_SERVER['DOCUMENT_ROOT'].'/review/dbinfo/db_input.php'; ?>
</div>
この部分は、レビュー一覧を出力させる部分とレビューの入力部分です。
「require~」というコードは、先ほど同様phpファイルを呼び出すコード。
db_display.phpは、レビュー一覧を出力するファイル。
db_input.phpはレビューを入力するファイル。
このようにphpコード部分は別ファイルにしておき、必要な時に呼び出すようにすれば、コンテンツのコードも少なくなり、管理しやすくなります。
ということで、今回はシステム全体の構成と商品ページのコードを紹介しました。
次回からは、いよいよPHPコードを紹介していきますが、その前にデータベースの構築から始めていこうと思います。
ってことで第3回目をお楽しみに
この記事が気に入ったらサポートをしてみませんか?