Le site de recyclage de seconde main utilise la fonction de centre de notification de messages développée en PHP
Avec le développement rapide d'Internet, le recyclage de seconde main est devenu un mode de consommation de plus en plus courant. Afin de faciliter la communication et le transfert d’informations entre les utilisateurs, les sites Web de recyclage d’occasion doivent généralement fournir une puissante fonction de notification de messages. Cet article explique comment utiliser PHP pour développer une fonction efficace de centre de notification de messages.
Tout d'abord, nous devons créer une base de données pour stocker les données des messages de l'utilisateur. Supposons que nous ayons créé une base de données nommée « notifications », qui contient les tableaux suivants :
Ensuite, nous devons écrire du code PHP pour implémenter la fonction de notification de message. La première est la fonction d'enregistrement de l'utilisateur. Nous devons insérer les informations de l'utilisateur dans la base de données lors de l'inscription :
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "notifications"; $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理注册表单提交 if (isset($_POST['register'])) { $username = $_POST['username']; $email = $_POST['email']; // 将用户信息插入数据库 $sql = "INSERT INTO users (username, email) VALUES ('$username', '$email')"; $conn->query($sql); echo "注册成功!"; } $conn->close(); ?>
La suivante est la fonction d'envoi de message. Lorsque l'utilisateur envoie un message, nous devons stocker le message. message dans la base de données et envoyez-le. Destinataires des notifications par e-mail :
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "notifications"; $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理发送消息表单提交 if (isset($_POST['send_message'])) { $sender_id = $_POST['sender_id']; $receiver_id = $_POST['receiver_id']; $message = $_POST['message']; // 将消息插入数据库 $sql = "INSERT INTO notifications (sender_id, receiver_id, message) VALUES ('$sender_id', '$receiver_id', '$message')"; $conn->query($sql); // 发送邮件通知接收者 $email_query = "SELECT email FROM users WHERE user_id = '$receiver_id'"; $email_result = $conn->query($email_query); $email = $email_result->fetch_assoc()['email']; mail($email, "您收到一条新的消息", $message); echo "消息发送成功!"; } $conn->close(); ?>
Enfin, il existe la fonction d'affichage des messages. Les utilisateurs peuvent afficher et gérer les messages reçus dans leur propre centre de messagerie :
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "notifications"; $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } // 处理查看消息请求 if (isset($_GET['user_id'])) { $user_id = $_GET['user_id']; // 查询用户收到的未读消息 $unread_query = "SELECT * FROM notifications WHERE receiver_id = '$user_id' AND notification_id NOT IN (SELECT notification_id FROM read_notifications WHERE receiver_id = '$user_id')"; $unread_result = $conn->query($unread_query); echo "<h2>未读消息</h2>"; while ($row = $unread_result->fetch_assoc()) { echo "<p>".$row['message']."</p>"; } // 更新数据库,将未读消息标记为已读 $mark_read_query = "INSERT INTO read_notifications (notification_id, receiver_id) SELECT notification_id, receiver_id FROM notifications WHERE receiver_id = '$user_id' AND notification_id NOT IN (SELECT notification_id FROM read_notifications WHERE receiver_id = '$user_id')"; $conn->query($mark_read_query); // 查询用户所有消息 $all_notifications_query = "SELECT * FROM notifications WHERE receiver_id = '$user_id'"; $all_notifications_result = $conn->query($all_notifications_query); echo "<h2>所有消息</h2>"; while ($row = $all_notifications_result->fetch_assoc()) { echo "<p>".$row['message']."</p>"; } } $conn->close(); ?>
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!