Comment utiliser PHP pour implémenter la fonction de messagerie sur site du système CMS
Avec la popularité d'Internet, divers sites Web ont également fleuri. Afin de mieux assurer la communication entre les utilisateurs, la fonction de messagerie sur site est devenue un outil incontournable. indispensable pour de nombreux systèmes CMS. Une des fonctions. Cet article présentera comment utiliser PHP pour implémenter la fonction de messagerie sur site d'un système CMS simple et fournira des exemples de code correspondants.
Tout d'abord, nous devons créer une base de données pour stocker les données liées aux messages sur le site. Supposons que nous ayons déjà une base de données nommée « cms », qui contient une table utilisateur nommée « utilisateurs ». Nous devons ajouter deux champs à la table utilisateur pour stocker les informations relatives aux messages internes. L'un est sender_id, qui représente l'ID de l'expéditeur, et l'autre est Receiver_id, qui représente l'ID du destinataire.
Ce qui suit est l'instruction SQL pour créer la liste de messages sur site :
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) );
Ensuite, nous devons ajouter une page au système CMS pour afficher la liste de messages sur site de l'utilisateur. Sur cette page, les utilisateurs peuvent voir les messages du site qu'ils ont reçus et choisir d'afficher des messages spécifiques.
Tout d'abord, nous devons interroger la base de données pour obtenir la liste des messages du site reçus par l'utilisateur. Ce qui suit est une fonction simple utilisée pour obtenir la liste des messages sur le site :
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; }
Ensuite, il parcourt la liste des messages sur le site sur la page, affiche le titre et les informations sur l'expéditeur de chaque message sur le site, et fournit un lien sur lequel l'utilisateur peut cliquer pour afficher les messages spécifiques du site.
$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>"; }
Dans le code ci-dessus, nous obtenons les informations de l'expéditeur en interrogeant la table utilisateur et affichons les informations pertinentes sur la page. En même temps, nous fournissons une page view_message.php
pour visualiser des liens permettant d'afficher le contenu de messages spécifiques sur le site. view_message.php
页面,用于展示具体的站内信内容。
接下来,我们需要创建view_message.php
view_message.php
pour afficher le contenu du message sur le site. $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>";
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!