CMS (コンテンツ管理システム) は、Web サイト上のコンテンツの作成、編集、公開、維持に役立つ豊富な機能を提供します。その 1 つは、サイト内メッセージングおよびブロードキャスト モジュールです。これにより、Web サイト ユーザーにメッセージと通知を送信できるようになり、ユーザー エクスペリエンスが向上し、Web サイトの双方向性が向上します。この記事では、PHP を使用して CMS でサイト内メッセージングおよびブロードキャスト モジュールを開発する方法を紹介します。
まず、開発およびテスト環境として CMS システムが必要です。この記事では、CMS システムの例として WordPress を使用します。さらに、基本的な PHP プログラミングの知識と MySQL データベースの知識も必要です。 CMS システムは通常、MySQL データベースを使用してユーザー データとコンテンツ データを保存するためです。
2 つのデータベース テーブルを使用して、サイト内メッセージとブロードキャスト メッセージを保存します。メッセージとブロードキャストの 2 つのデータベース テーブルを作成します。各テーブルには次のような独自の列があります。
messages テーブル:
id: メッセージ ID、自己増加する整数型
sender: メッセージ送信者、整数型、ID 列を指すユーザーテーブルの
receiver: メッセージ受信者、整数型、ユーザーテーブルの ID 列を指す
subject: メッセージの件名、文字列型
message: メッセージ本文、文字列型
status: messageステータス、文字列タイプ、「既読」または「未読」にすることができます
timestamp: メッセージのタイムスタンプ、時刻/日付タイプ、レコード メッセージの作成時間
broadcasts table:
id: ブロードキャスト メッセージID、自己増加する整数型
sender: ブロードキャスト メッセージの送信者、整数型、ユーザー テーブルの ID 列を指す
subject: ブロードキャスト メッセージの件名、文字列型
message: ブロードキャスト メッセージのテキスト、文字列型
timestamp: ブロードキャスト メッセージのタイムスタンプ、時刻/日付タイプ、ブロードキャスト メッセージ作成時刻の記録
データベース テーブルを配置したら、サイト内メッセージとブロードキャスト メッセージの機能を実装するための PHP コードの作成を開始できます。機能実装の基本的な考え方を以下に示します。
メッセージの送信: ユーザーがオンサイト メッセージ フォームに記入して送信すると、フォーム データがメッセージ テーブルに挿入されます。
メッセージの表示: ユーザーはログイン後、サイトのメッセージを表示および読むことができます。ユーザーに関連するすべてのサイト メッセージを取得するには、MySQL クエリを実行する必要があります。
メッセージを既読としてマークする: ユーザーが未読メッセージを読んだ後、メッセージのステータスを「既読」に更新する必要があります。
ブロードキャスト メッセージの送信: 管理者は、ブロードキャスト メッセージ フォームに記入して送信し、ブロードキャスト メッセージ データをブロードキャスト テーブルに挿入できます。
ブロードキャスト メッセージの表示: ユーザーは Web サイト上でブロードキャスト メッセージを表示および読むことができます。すべてのブロードキャスト メッセージを取得するには、MySQL クエリを実行する必要があります。
以下は、CMS サイトのメッセージングおよびブロードキャスト モジュールの基礎として使用できるいくつかの基本的な PHP 関数です。
a. サイト メッセージをデータベース テーブルに挿入します:
function insert_message($sender, $receiver, $subject, $message) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $data = array( 'sender' => $sender, 'receiver' => $receiver, 'subject' => $subject, 'message' => $message, 'status' => '未读', 'timestamp' => current_time('mysql') ); $wpdb->insert($table_name, $data); }
b. メッセージを取得します:
function get_messages($user_id) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $sql = $wpdb->prepare("SELECT * FROM $table_name WHERE receiver = %d ORDER BY timestamp DESC", $user_id); $results = $wpdb->get_results($sql); return $results; }
c. メッセージを既読としてマークします:
function mark_message_read($message_id) { global $wpdb; $table_name = $wpdb->prefix . "messages"; $data = array('status' => '已读'); $where = array('id' => $message_id); $wpdb->update($table_name, $data, $where); }
d. ブロードキャスト メッセージをデータベース テーブルに挿入します:
function insert_broadcast($sender, $subject, $message) { global $wpdb; $table_name = $wpdb->prefix . "broadcasts"; $data = array( 'sender' => $sender, 'subject' => $subject, 'message' => $message, 'timestamp' => current_time('mysql') ); $wpdb->insert($table_name, $data); }
e. ブロードキャスト メッセージを取得します:
function get_broadcasts() { global $wpdb; $table_name = $wpdb->prefix . "broadcasts"; $sql = "SELECT * FROM $table_name ORDER BY timestamp DESC"; $results = $wpdb->get_results($sql); return $results; }
最後に、ユーザーがサイト メッセージを送信し、管理者がブロードキャスト メッセージを送信できるように、CMS システムでフォームを作成する必要があります。以下は、CMS システムのページに配置できる基本的なフォーム コードの一部です。
サイト内メッセージ フォーム:
<form method="post" action="[发送站内信的PHP处理文件路径]"> <label>收件人:</label> <input type="text" name="receiver"/> <br /> <label>主题:</label> <input type="text" name="subject"/> <br /> <label>消息内容:</label> <textarea name="message"></textarea> <br /> <input type="submit" value="发送"/> </form>
ブロードキャスト メッセージ フォーム:
<form method="post" action="[发送广播消息的PHP处理文件路径]"> <label>主题:</label> <input type="text" name="subject"/> <br /> <label>消息内容:</label> <textarea name="message"></textarea> <br /> <input type="submit" value="发送"/> </form>
上記の手順を使用すると、 CMS サイトのメッセージングおよびブロードキャスト モジュールを迅速かつ効果的に完全に実装できます。これらのモジュールは、Web サイトのユーザー エクスペリエンスを向上させるだけでなく、Web サイトの対話性も促進します。もちろん、これは単なる基本的な実装であり、独自のニーズに合わせて最適化および改善を続けることができます。
以上がPHP を使用して CMS でサイト メッセージングおよびブロードキャスト モジュールを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。