インターネットの開発により、さまざまな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システムに現場でのコミュニケーション機能を簡単に統合できるようにすることを願っています。