So implementieren Sie die On-Site-Messaging-Funktion des CMS-Systems mit PHP
Mit der Popularität des Internets sind auch verschiedene Websites floriert. Um die Kommunikation zwischen Benutzern zu verbessern, ist die On-Site-Messaging-Funktion zu einem geworden Ein Muss für viele CMS-Systeme. In diesem Artikel wird erläutert, wie Sie mit PHP die In-Site-Messaging-Funktion eines einfachen CMS-Systems implementieren und entsprechende Codebeispiele bereitstellen.
Zunächst müssen wir eine Datenbank erstellen, um Daten zu In-Site-Nachrichten zu speichern. Angenommen, wir haben bereits eine Datenbank mit dem Namen „cms“, die eine Benutzertabelle mit dem Namen „users“ enthält. Wir müssen der Benutzertabelle zwei Felder hinzufügen, um Informationen zu standortinternen Nachrichten zu speichern. Das eine ist sender_id, das die ID des Absenders darstellt, und das andere ist Receiver_id, das die ID des Empfängers darstellt.
Das Folgende ist die SQL-Anweisung zum Erstellen der Nachrichtenliste vor Ort:
CREATE TABLE IF NOT EXISTS messages ( id INT(11) AUTO_INCREMENT PRIMARY KEY, sender_id INT(11), receiver_id INT(11), subject VARCHAR(255), body TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (sender_id) REFERENCES users (id), FOREIGN KEY (receiver_id) REFERENCES users (id) );
Als nächstes müssen wir dem CMS-System eine Seite hinzufügen, um die Nachrichtenliste des Benutzers vor Ort anzuzeigen. Auf dieser Seite können Benutzer die Site-Nachrichten sehen, die sie erhalten haben, und auswählen, ob sie bestimmte Nachrichten anzeigen möchten.
Zuerst müssen wir die Datenbank abfragen, um die Liste der vom Benutzer empfangenen Site-Nachrichten zu erhalten. Die folgende einfache Funktion wird verwendet, um die Liste der In-Site-Nachrichten abzurufen:
function getInboxMessages($userId) { $query = "SELECT * FROM messages WHERE receiver_id = '$userId' ORDER BY created_at DESC"; $result = mysqli_query($conn, $query); $messages = mysqli_fetch_all($result, MYSQLI_ASSOC); return $messages; }
Dann durchläuft sie die Liste der In-Site-Nachrichten auf der Seite, zeigt den Titel und die Absenderinformationen jeder In-Site-Nachricht an und Bietet einen Link, auf den der Benutzer klicken kann, um bestimmte Site-Nachrichten anzuzeigen.
$inboxMessages = getInboxMessages($userId); foreach($inboxMessages as $message) { $senderId = $message['sender_id']; $subject = $message['subject']; // 查询发件人的信息 $query = "SELECT * FROM users WHERE id = '$senderId'"; $result = mysqli_query($conn, $query); $sender = mysqli_fetch_assoc($result); echo "<div>"; echo "<p>发件人:" . $sender['username'] . "</p>"; echo "<p>标题:" . $subject . "</p>"; echo "<a href='view_message.php?id=" . $message['id'] . "'>查看</a>"; echo "</div>"; }
Im obigen Code erhalten wir die Absenderinformationen durch Abfragen der Benutzertabelle und zeigen die relevanten Informationen auf der Seite an. Gleichzeitig stellen wir eine view_message.php
-Seite zum Anzeigen von Links zur Anzeige spezifischer Nachrichteninhalte auf der Website bereit. view_message.php
页面,用于展示具体的站内信内容。
接下来,我们需要创建view_message.php
view_message.php
erstellen, um den Inhalt der In-Site-Nachricht anzuzeigen. $messageId = $_GET['id']; // 查询站内信的具体内容 $query = "SELECT * FROM messages WHERE id = '$messageId'"; $result = mysqli_query($conn, $query); $message = mysqli_fetch_assoc($result); echo "<p>发件人:" . $message['sender_id'] . "</p>"; echo "<p>标题:" . $message['subject'] . "</p>"; echo "<p>内容:" . $message['body'] . "</p>"; echo "<p>时间:" . $message['created_at'] . "</p>";
Das obige ist der detaillierte Inhalt vonSo implementieren Sie PHP zur Implementierung der In-Site-Messaging-Funktion des CMS-Systems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!