Home > Article > Backend Development > How to use PHP to implement the in-site messaging function of CMS system
How to use PHP to implement the in-site message function of the CMS system
With the popularity of the Internet, various websites have also flourished. In order to better provide communication between users, the in-site message function has become One of the essential features of many CMS systems. This article will introduce how to use PHP to implement the in-site messaging function of a simple CMS system, and provide corresponding code examples.
First of all, we need to create a database to store data related to in-site messages. Suppose we already have a database named "cms", which contains a user table named "users". We need to add two fields to the user table to store information related to internal messages. One is sender_id, which represents the sender's ID, and the other is receiver_id, which represents the recipient's ID.
The following is the SQL statement to create the on-site message table:
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) );
Next, we need to add a page to the CMS system to display the user's on-site message list. On this page, users can see the on-site messages they have received and choose to view specific messages.
First, we need to query the database to obtain the list of site messages received by the user. Here is a simple function to get the list of in-site messages:
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; }
Then, loop through the list of in-site messages on the page, display the title and sender information of each in-site message, and provide a link to Users click to enter to view specific site messages.
$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>"; }
In the above code, we obtain the sender's information by querying the user table and display the relevant information on the page. At the same time, we provide a view_message.php
page for viewing links to display specific on-site message content.
Next, we need to create the view_message.php
page to display the content of the in-site message.
$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>";
In the above code, we obtain the in-site message ID passed in the URL parameter, query the database based on the ID to obtain the specific content of the in-site message, and display it on the page.
So far, we have completed the implementation of the in-site messaging function of a simple CMS system. Users can view the in-site messages they have received on the in-site message list page, and click on the link to enter the in-site message details page to view the specific in-site message content.
Of course, this is just a simple example, and more functions and security need to be considered in actual development. For example, you can add a mail sending function so that users can send on-site messages to other users; you can also filter and verify the content of on-site messages to prevent the injection of malicious code.
I hope this article will be helpful in using PHP to implement the on-site messaging function of the CMS system, and can provide some ideas and inspiration to readers.
The above is the detailed content of How to use PHP to implement the in-site messaging function of CMS system. For more information, please follow other related articles on the PHP Chinese website!