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

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

CMSファイル構成コメント返信

前回、CMSのコメント認証ページを作成しました。↓

 

今回は、コメント認証後の「コメント返信ページ」を作成します。

CMSファイル構成コメント返信

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

上の表のとおり、今回でCMSの作成は完了します。

コメント入力画面は公開用ページに設置しているので、そこから返信する事も可能ですが、いちいち認証の手順を踏まなければならないので、管理者からすれば面倒です。

したがって、「認証が不要」のコメント入力ページをCMSに設置することにします。

これで管理者のみが、認証をスルーしてコメントを返信する事が可能になります。

今回作成するコメント返信ページの流れとしては、

①認証したコメント一覧を表示させる。(コメント毎に返信済みであるか表示させる)

②未返信のコメントを選択後、返信コメントを入力

③本式テーブルに保存

となります。

認証コメントリスト画面

comment_list.php

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

このページは、認証したコメント一覧を表示させて(コメント毎に返信済みであるかも表示させる)、返信するコメントを選択できるようにしています。

コメント認証後に保存される「honcmテーブル」を参照し、データがなければ「コメントがありません」と表示させます。

データがあれば、一覧表示させています。

honcmテーブルのreカラムは、返信済かどうかの識別として使用しているので、今回の場合、空であれば「未返信」としています。

次ページへの値の送り方は、リンクを貼ってそこにパラメータとして乗っけています。

今回の場合ですと、選択した記事の識別として、記事のidであるrec[id]と、コメントの番号であるrec[code]を次ページへ送る仕組みにしています。

次ページでは、この値を元に、コメントに対しての返信が可能となります。

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

それでは、次のページも、先に作成しておきます。

コメント返信入力画面

comment_hensin.php

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

このページは、選択したコメントに対して、返信コメントを入力するページにます。

コメントの情報をGETで受け取り、formタグで返信コメントを入力します。

次ページへの値は、submitでpost送信しています。

返信コメント登録画面

comment_hensin_done.php

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

このページは、返信コメントをデータベースに登録、また、返信するコメントに対して「返信済」のフラグを立てています。

postで返信先のコメント情報を受け取っているので、honcmテーブルの該当するコメントに、「返信済」のフラグを立てています。reカラムにOKの値を格納しているので、これで返信済みとなります。

続いて管理者の返信コメントを、honcmテーブルに追加しています。

これで、公開ページのコメントが投稿された記事に対して、管理者からの返信が反映されるようになっています。

 

7回に渡りましたが、今回でCMSの作成は完了となります。

次回以降、公開用ページの作成に入っていきます。

WordPressでいうところの、「テーマ」にあたる部分ですね。

CMSでデータベースに登録した各内容を、公開用のページに反映させていくので、ここからが楽しくなると思います。

コメントを残す

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