ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して CMS でサイト メッセージングおよびブロードキャスト モジュールを開発する方法

PHP を使用して CMS でサイト メッセージングおよびブロードキャスト モジュールを開発する方法

WBOY
リリース: 2023-06-21 17:28:02
オリジナル
1051 人が閲覧しました

CMS (コンテンツ管理システム) は、Web サイト上のコンテンツの作成、編集、公開、維持に役立つ豊富な機能を提供します。その 1 つは、サイト内メッセージングおよびブロードキャスト モジュールです。これにより、Web サイト ユーザーにメッセージと通知を送信できるようになり、ユーザー エクスペリエンスが向上し、Web サイトの双方向性が向上します。この記事では、PHP を使用して CMS でサイト内メッセージングおよびブロードキャスト モジュールを開発する方法を紹介します。

  1. 準備

まず、開発およびテスト環境として CMS システムが必要です。この記事では、CMS システムの例として WordPress を使用します。さらに、基本的な PHP プログラミングの知識と MySQL データベースの知識も必要です。 CMS システムは通常、MySQL データベースを使用してユーザー データとコンテンツ データを保存するためです。

  1. データベース テーブルの設計

2 つのデータベース テーブルを使用して、サイト内メッセージとブロードキャスト メッセージを保存します。メッセージとブロードキャストの 2 つのデータベース テーブルを作成します。各テーブルには次のような独自の列があります。

messages テーブル:

id: メッセージ ID、自己増加する整数型
sender: メッセージ送信者、整数型、ID 列を指すユーザーテーブルの
receiver: メッセージ受信者、整数型、ユーザーテーブルの ID 列を指す
subject: メッセージの件名、文字列型
message: メッセージ本文、文字列型
status: messageステータス、文字列タイプ、「既読」または「未読」にすることができます
timestamp: メッセージのタイムスタンプ、時刻/日付タイプ、レコード メッセージの作成時間

broadcasts table:

id: ブロードキャスト メッセージID、自己増加する整数型
sender: ブロードキャスト メッセージの送信者、整数型、ユーザー テーブルの ID 列を指す
subject: ブロードキャスト メッセージの件名、文字列型
message: ブロードキャスト メッセージのテキスト、文字列型
timestamp: ブロードキャスト メッセージのタイムスタンプ、時刻/日付タイプ、ブロードキャスト メッセージ作成時刻の記録

  1. PHP 関数の作成

データベース テーブルを配置したら、サイト内メッセージとブロードキャスト メッセージの機能を実装するための 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;
}
ログイン後にコピー
  1. サイト メッセージとブロードキャスト フォームを作成します

最後に、ユーザーがサイト メッセージを送信し、管理者がブロードキャスト メッセージを送信できるように、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>
ログイン後にコピー
  1. 結論

上記の手順を使用すると、 CMS サイトのメッセージングおよびブロードキャスト モジュールを迅速かつ効果的に完全に実装できます。これらのモジュールは、Web サイトのユーザー エクスペリエンスを向上させるだけでなく、Web サイトの対話性も促進します。もちろん、これは単なる基本的な実装であり、独自のニーズに合わせて最適化および改善を続けることができます。

以上がPHP を使用して CMS でサイト メッセージングおよびブロードキャスト モジュールを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート