Le site de recyclage de seconde main utilise la fonction centre de notification de messages développée en PHP

王林
Libérer: 2023-07-01 14:30:01
original
1240 Les gens l'ont consulté

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 :

  1. users : utilisé pour stocker des informations sur tous les utilisateurs enregistrés, y compris l'ID utilisateur, le nom d'utilisateur et l'adresse e-mail, etc. .
  2. notifications : utilisé pour stocker les notifications de messages utilisateur, y compris l'ID de notification, le contenu de la notification, l'heure d'envoi, l'ID du destinataire, etc.
  3. read_notifications : utilisé pour stocker les notifications de messages que l'utilisateur a lues, y compris l'ID de notification et l'ID du destinataire, etc.

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();
?>
Copier après la connexion

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();
?>
Copier après la connexion

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();
?>
Copier après la connexion
#🎜🎜. #Grâce au code PHP ci-dessus, nous pouvons implémenter un centre de notification de messages simple et puissant. Les utilisateurs peuvent s'inscrire, envoyer des messages, afficher et gérer des messages. De plus, nous avons également mis en œuvre la diffusion de messages en temps réel via des notifications par e-mail. Les sites Web de recyclage d'occasion peuvent être personnalisés et étendus en fonction des besoins réels, rendant ainsi la communication entre les utilisateurs plus pratique et plus efficace.

Pour résumer, l'utilisation de PHP pour développer la fonction de centre de notification de messages ajoute la possibilité de transmettre des messages en temps réel vers le site de recyclage d'occasion pour faciliter la communication et le transfert d'informations entre les utilisateurs. Ceci est d’une grande importance pour améliorer l’expérience utilisateur et l’activité du site Web. On pense que dans un avenir proche, avec le développement d'Internet, la fonction de notification de messages sera appliquée et promue sur davantage de sites Web et d'applications.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal