Maison >développement back-end >tutoriel php >Comment utiliser PHP pour implémenter la fonction de messagerie sur site du système CMS

Comment utiliser PHP pour implémenter la fonction de messagerie sur site du système CMS

王林
王林original
2023-08-04 19:41:03927parcourir

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

Ensuite, nous devons créer la page 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>";

Dans le code ci-dessus, nous obtenons l'ID du message sur le site transmis dans le paramètre URL et interrogeons la base de données en fonction de l'ID pour obtenir le contenu spécifique du message sur le site et l'afficher sur la page.

À ce stade, nous avons terminé la mise en œuvre de la fonction de messagerie sur site d'un simple système CMS. Les utilisateurs peuvent afficher les messages sur site qu'ils ont reçus sur la page de liste des messages sur site et cliquer sur le lien pour accéder à la page de détails des messages sur site afin d'afficher le contenu spécifique du message sur site.

Bien sûr, ce n'est qu'un exemple simple, et davantage de fonctions et de sécurité doivent être prises en compte dans le développement réel. Par exemple, la fonction d'envoi de courrier peut être ajoutée afin que les utilisateurs puissent envoyer des messages intra-site à d'autres utilisateurs ; le contenu des messages intra-site peut également être filtré et vérifié pour empêcher l'injection de code malveillant.

J'espère que cet article sera utile pour utiliser PHP pour implémenter la fonction de messagerie sur site du système CMS, et pourra fournir des idées et de l'inspiration aux lecteurs. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn