見出し画像

データベースを使った商品レビュー管理システムを作ろう(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回目をお楽しみに

この記事が気に入ったらサポートをしてみませんか?