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

CMSを自作してオリジナル動的ホームページをフルスクラッチ開発してみよう!⑩公開用投稿記事ページのコメントフォーム受付画面作成

コメントチェック

前回、公開用投稿記事ページの作成をしました。↓

 

今回は投稿記事ページのコメントフォーム受付処理画面を作成します。

公開ページファイル構成33

星マークが作成済みのファイルになります。

雲マークのファイルを今回作成します。

以前、cms作成の段階で少し触れましたが、もう一度ここで「記事に対するコメント受付」について、まとめておきます。

1.記事に対するコメントが送信される(single.php)

2.コメントを仮のテーブルに保存し、コメント内容とcms loginのurlを記載したmailを管理者に自動送信する(comment.php)

3.管理者はmailに記載されたコメント内容を確認後、cmsにログイン(set_top.php)

4.cmsでコメントの認証待ちを確認(comment.check.php)

5.cmsでコメントを認証する(仮のテーブルから本テーブルへコメントを移動させる)(comment_done.php)

6.投稿記事に認証したコメントが反映される(single.php)

7.管理者がコメントに対して返信したい場合は、cmsのコメント返信から可能(comment_list.php comment_hensin.php comment_hensin_done.php)

少し長いですが、上記のような感じです。

2以外は全てファイルを作成済みですので、今回は2のファイルを作成し、実際に1~7までのテストを実施したいと思います。

※mailの自動送信についてはWEBサーバーにアップロード後(公開後)でなければテストできないので、最後に確認します。

投稿記事ページのコメントフォーム受付処理画面

comment.php

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

このページでは、single.phpで記事に対するコメントを受け付けた際、そこからpostされた値に漏れがないかのチェック後、内容をテーブルに保存し、管理者にmail送信しています。

postのデータは、コメント者の名前、タイトル、本文、投稿された記事のid、を受け取っています。

$com = str_replace(PHP_EOL, ”, $com); は、コメントの改行を削除しています。(今回の設計上、改行があると次ページへ遷移出来ない為。postすりゃ問題はないのですが。。)

初めのif文はコメントの入力漏れを確認しています。

問題なければ、仮のテーブルである「karicm」にコメント内容を保存します。

コメント送信者に対しては認証待ちの旨を伝えておきます。

下部の$title~mb send mailが、管理者にmailを送信するプログラムになります。

$bun .= で繋がれた文字列が、send mailに指定したアドレスへ送信されます。

それでは、前途した1~7のテストを実施してみましょう。

 

コメントフォームテスト

1.記事からコメントを投稿

作成した記事の中からどれでもいいので、コメントを送信してみます。

コメント1

これは実際に当blogに投稿されたことのあるコメントを再現してみました。非常に不愉快なのでやめて下さいね。

 

2.karicmテーブルに反映しているか確認

コメントが送信されたか確認します。

mailは送信されないので、エラーが発生していますが今は無視します。

コメントチェック

テーブルに反映されているか確認します。

仮テーブル保存

 

3.cmsにログイン

本来であればmailからログインのurlでcmsに飛べるようにしていますが、今回はローカルから直接アクセスしてログインします。

cmsトップ画面ログイン

それでは、コメント認証画面へ行ってみます。

  

4.コメントの認証待ちを確認

karicmテーブルに情報があれば、コメントの認待ちとして表示されるので、それを確認します。

認証待ち

認証してみます。

 

5.コメントを認証

認証すれば、その旨のコメントが表示されます。

コメント認証実行

認証すれば、karicmテーブルからhoncmテーブルへ情報を移動させています。honcmテーブルの内容が、記事へ反映されるためですね。

karicmの内容は消す仕組みにしているのは、残ったままだと、認証しても「認証待ち」として残ってしまうためです。

それではそれぞれのテーブルの状態を確認してみます。

honcmテーブルに情報が移行していて、kariテーブルは消去されていればOKです。

それでは、記事を確認してみましょう。

 

6.コメントが投稿された記事を確認

次のように、コメントが投稿された記事に対して、認証したコメントが反映していればOKです。

コメント反映

 

ここまでが、コメント認証の一連の流れとなります。

 

7.コメント返信

管理者がコメントを返信する際は、いちいち今のような手順を踏むのは面倒なので、cmsのコメント返信から実行します。

コメント返信画面では、認証済みのコメント一覧が表示されます。

コメント返信リスト

未返信のコメントには「未返信」と表示されています。

それでは、返信をしてみます。

コメント返信

 

送信後、記事に返信が反映されているはずです。

夜道には気を付けろ

  

以上です。

次回は、固定ページのテンプレを作成します。

コメントを残す

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