インターネットの開発により、さまざまなWebサイトやCMSシステムが徐々に企業や個人がコンテンツを表示してコミュニケーションを取るためのプラットフォームになりました。ユーザーの相互作用を強化する重要なモジュールとしてのサイト内通信機能は、多くのCMSシステムで採用されています。この記事では、PHPを介した単純なCMSシステムの現場での通信機能を実装して、開発者がこの機能を統合する方法を理解できるようにします。
まず、Webサイトのメッセージの関連データを保存するには、データベースにテーブルを作成する必要があります。ユーザー情報を管理するための「ユーザー」テーブルを含む「CMS」と呼ばれるデータベースが既にあるとします。このテーブルに送信者と受信フィールドを追加する必要があります。
以下は、ウェブサイトのメッセージテーブルを作成するためのSQLステートメントです。
存在するしない場合はテーブルを作成します(メッセージ)
id int(11)auto_incrementプライマリキー、
sender_id int(11)、
receiver_id int(11)、
件名Varchar(255)、
ボディテキスト、
created_atタイムスタンプデフォルトcurrent_timestamp、
外部のキー(sender_id)参照ユーザー(id)、
外部のキー(receiver_id)参照ユーザー(ID)
);
次に、CMSシステムにページを作成して、ユーザーが受信した内部メッセージのリストを表示します。このページでは、ユーザーはタイトル、送信者、および文字のその他の情報を表示し、クリックして特定のWebサイトメッセージコンテンツを表示できます。
以下は、ユーザーのWebサイトメッセージリストを取得するためのコード例です。
関数getInboxMessages($ userid){
$ query = "select * from message where where where receiver_id = '$ userid' order by recuted_at desc";
$ result = mysqli_query($ conn、$ query);
$ messages = mysqli_fetch_all($ result、mysqli_assoc);
$メッセージを戻るします。
}
ページでは、クエリサイトのメッセージデータを通過し、各文字のタイトルと送信者情報を表示し、特定の文字コンテンツを表示するためのリンクを提供します。
$ inboxMessages = getInboxMessages($ userId);
foreach($ inboxmessages as $ message){
$ senderid = $ message ['sender_id'];
$ subject = $ message ['subject'];
// query送信者情報$ query = "select * fromユーザーからid = '$ senderid'";
$ result = mysqli_query($ conn、$ query);
$ sender = mysqli_fetch_assoc($ result);
エコー」<div> ";
エコー」<p> from: "。$ sender ['username']。"</p> ";
エコー」<p>タイトル:「。$ subject。」</p> ";
エコー「<a href='view_message.php?id=" . $message['id'] . "'>ビュー</a>」;
エコー」</div> ";
}
特定のWebサイトメッセージコンテンツを表示するには、文字IDに従って特定のコンテンツをクエリして表示するページ `View_message.php`を作成する必要があります。
$ messageId = $ _get ['id'];
$ query = "select * from message where id = '$ messageId'";
$ result = mysqli_query($ conn、$ query);
$ message = mysqli_fetch_assoc($ result);
エコー」<p> from: "。$ message ['sender_id']。"</p> ";
エコー」<p>タイトル: "。$ message ['subject']。"</p> ";
エコー」<p>コンテンツ: "。$ message ['body']。"</p> ";
エコー」<p>時間: "。$ message ['created_at']。"</p> ";
上記の手順を通じて、基本的な内部通信関数を実装しました。ユーザーは、Webサイトメッセージリストページで受信したすべてのWebサイトメッセージを表示し、リンクをクリックして詳細なコンテンツを表示できます。
もちろん、実際の開発にはより機能的なサポートが必要です。たとえば、メッセージを送信する関数を追加すると、ユーザーは敷地内のメッセージを送信できます。 XSSなどのセキュリティの問題を防ぐために、メッセージコンテンツのフィルタリングと検証。また、読み取り/未読などのメッセージをマークするなどの状態管理を追加することもできます。
この記事が開発者に有用なリファレンスとインスピレーションを提供して、誰もがCMSシステムに現場でのコミュニケーション機能を簡単に統合できるようにすることを願っています。