2021/12/15 よりサイトリニューアルしました

CMSを自作してオリジナル動的ホームページをフルスクラッチ開発してみよう!⑥CMSのコメント認証、登録可否画面の作成

コメント認証画面作成

前回、CMSのプロフィール、スポンサーリンク作成画面についてまとめました。↓

 

今回はCMSのコメント認証、登録可否画面を作成します。

星マークが作成済みのページです。今回は雲マークのページを作成します。

cms構成コメント認証

後で作成する公開ページには、投稿記事の下部にコメント欄を設けています。↓

コメント入力欄

ここにコメントされた内容を、一旦保留して、コメント確認後に記事に反映するかしないかを実行できるシステムにします。

WordPressでは、コメントが投稿された際、下記のような流れとなっていますよね。

コメント投稿 ⇒ 管理者にmailが届く ⇒ mailから認証の可否、返信も可

これと同じような仕組みにしてみます。

厳密な流れとしては、

コメント投稿(仮のテーブルに保管) ⇒ 管理者にmailが届く ⇒ mailに記載されたコメントを確認し、貼られているcmsへのリンクへ飛ぶ ⇒ cmsログイン ⇒ コメント認証画面で認証の可否を行う(可の場合、本式テーブルに保管) ⇒ 認証すれば記事に反映

こんな感じです。

つまり、投稿されたコメントは、本式のテーブルに保存されれば記事に反映される仕組みです。

コメント投稿画面は、公開用のページで作成しますが、仮テーブルはこの回で作成しておこうと思います。

では、初めにテーブルを作成します。

テーブルの作成

karicm(コメントの仮テーブル)

仮テーブル

データベース名「test」に「karicm」テーブルを作成します。

カラムは6とし、詳細は下記のとおりです。

名前データ型その他
codeintAI
namevarchar 値50
honbunvarchar 値500
idint
titlevarchar 値100
timedate

honcm(コメントの本式テーブル)

本式テーブル

データベース名「test」に「honcm」テーブルを作成します。

カラムは7とし、詳細は下記のとおりです。

名前データ型その他
codeintAI
namevarchar 値50
honbunvarchar 値500
revarchar 値10
idint
titlevarchar 値100
timedate

コメント認証チェック画面

comment_check.php

settingディレクトリ配下にcomment_check.phpを作成します。

このページでは、仮テーブルに保存されているコメント認証待ちの一覧を表示させて、認証の可否を選択出来るようにしています。

仮テーブルが空なら、コメントはありませんと表示させます。

コメントが有りの場合、一覧表示をさせて、それぞれに「認証」と「削除」のリンクを貼っています。

リンクがどちらも次ページのcomment_done.phpになっていますが、付与した「flag」のパラメータで認証と削除の仕分けが出来るようにしています。

idは記事のidを示しており、codeは仮テーブルのプライマリkeyを示しています。

つまり、この2つの情報があれば、どの記事の何番目にコメント投稿されたかが判別できます。

本来であれば、ここで認証のテストをしたい所ですが、コメント入力は公開ページにあるのでまだ作成していません。前途したように、コメント投稿~の手順を踏んでテストしたいので、今回はプログラムだけ作成しておいて、後ほど公開ページの作成に入った段階で、コメント認証のチェックを行いたいと思います。

それでは、コメント可否の実行ページも、先に作成しておきます。

コメント登録可否実行画面

comment_done.php

settingディレクトリ配下にcomment_done.phpを作成します。

このページでは、コメントの認証を実行(本式テーブルにコメントを移行)および、コメントの非認証(仮テーブルから削除)を行っています。

パラメータ「flag」に値が入っていれば非認証となるので、前ページで選択したコメントは削除されます。

認証の場合は、まず仮テーブルからidとコードでコメント情報を取り出します。

それを本式テーブルに追加後、仮テーブルのコメントは消去しておきます。消さなければ、認証待ちとして残るためですね。

次回は、認証したコメントに対して、管理者として返信するページを作成します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です