Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Sistem sembang masa nyata berdasarkan PHP, mesej hilang selepas dibaca dan dipadamkan selepas dibaca

Sistem sembang masa nyata berdasarkan PHP, mesej hilang selepas dibaca dan dipadamkan selepas dibaca

WBOY
WBOYasal
2023-08-26 21:24:301467semak imbas

Sistem sembang masa nyata berdasarkan PHP, mesej hilang selepas dibaca dan dipadamkan selepas dibaca

Sistem sembang masa nyata berdasarkan PHP boleh membakar dan memadam mesej selepas membaca

Dengan perkembangan pesat Internet, fungsi sembang telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian orang moden. Khususnya, sistem sembang masa nyata membolehkan orang ramai menghantar mesej serta-merta melalui Internet dan mencapai komunikasi yang pantas. Walau bagaimanapun, dalam beberapa senario, melindungi privasi pengguna dan keselamatan maklumat telah menjadi masalah mendesak untuk diselesaikan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi menghilangkan dan memadam mesej selepas membaca dalam sistem sembang masa nyata.

Kunci untuk melaksanakan fungsi ini adalah untuk menetapkan masa pemadaman mesej kepada had masa tertentu Selepas had masa ini melebihi, mesej akan dipadamkan secara automatik, dengan itu memastikan ketepatan masa dan keselamatan mesej. Berikut akan memperkenalkan cara melaksanakan kedua-dua fungsi ini melalui contoh kod.

Pertama, kita perlu mencipta pangkalan data untuk menyimpan mesej sembang pengguna. Berikut ialah struktur pangkalan data yang mudah:

CREATE TABLE messages (
    id INT PRIMARY KEY AUTO_INCREMENT,
    sender_id INT,
    receiver_id INT,
    content TEXT,
    create_time DATETIME,
    delete_time DATETIME
);

Dalam sistem sembang masa nyata, apabila pengguna menghantar mesej, kita perlu menyimpan ID penghantar, ID penerima, kandungan mesej, masa penghantaran dan masa pemadaman mesej. Masa penghantaran boleh diperolehi melalui fungsi PHP date("Y-m-d H:i:s") Masa pemadaman perlu ditetapkan mengikut keperluan pembakaran selepas membaca dan memadam selepas membaca . date("Y-m-d H:i:s")获取到当前的时间,而删除时间则需要根据阅后即焚和阅后删除的需求来进行设定。

下面是一个简单的示例代码,实现了用户发送消息和保存消息到数据库的功能:

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");
if (mysqli_connect_errno()) {
    echo "数据库连接失败:" . mysqli_connect_error();
    die();
}

// 获取发送者ID和接收者ID
$senderId = $_POST['sender_id'];
$receiverId = $_POST['receiver_id'];

// 获取消息内容
$content = $_POST['content'];

// 获取当前时间
$createTime = date("Y-m-d H:i:s");

// 设置消息的删除时间为30分钟后
$deleteTime = date("Y-m-d H:i:s", strtotime("+30 minutes"));

// 插入消息到数据库
$sql = "INSERT INTO messages (sender_id, receiver_id, content, create_time, delete_time)
        VALUES ('$senderId', '$receiverId', '$content', '$createTime', '$deleteTime')";
mysqli_query($conn, $sql);

// 关闭数据库连接
mysqli_close($conn);

上述代码中,我们通过$_POST来获取用户发送消息中的发送者ID、接收者ID和消息内容。然后,通过date("Y-m-d H:i:s")获取当前时间,并通过strtotime("+30 minutes")设置删除时间为30分钟后。最后,将消息插入到数据库中,并关闭数据库连接。

当用户查看消息时,我们需要检查当前时间是否超过了消息的删除时间。如果超过了删除时间,我们可以将消息从数据库中删除。以下是一个简单的示例代码,实现了用户查看消息和删除消息的功能:

<?php
// 连接数据库
$conn = mysqli_connect("localhost", "username", "password", "database");
if (mysqli_connect_errno()) {
    echo "数据库连接失败:" . mysqli_connect_error();
    die();
}

// 获取消息ID
$messageId = $_GET['message_id'];

// 获取当前时间
$currentTime = date("Y-m-d H:i:s");

// 查询消息的删除时间
$sql = "SELECT delete_time FROM messages WHERE id = $messageId";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
$deleteTime = $row['delete_time'];

// 检查当前时间是否超过了删除时间
if ($currentTime > $deleteTime) {
    // 超过了删除时间,删除消息
    $sql = "DELETE FROM messages WHERE id = $messageId";
    mysqli_query($conn, $sql);
} else {
    // 未超过删除时间,显示消息内容
    $sql = "SELECT content FROM messages WHERE id = $messageId";
    $result = mysqli_query($conn, $sql);
    $row = mysqli_fetch_assoc($result);
    echo $row['content'];
}

// 关闭数据库连接
mysqli_close($conn);

上述代码中,我们通过$_GET来获取用户查看消息中的消息ID。然后,通过date("Y-m-d H:i:s")

Berikut ialah contoh kod ringkas yang melaksanakan fungsi pengguna menghantar mesej dan menyimpan mesej ke pangkalan data:

rrreee

Dalam kod di atas, kami menggunakan $_POST untuk mendapatkan pengirim mesej dihantar oleh ID pengguna, ID penerima dan kandungan mesej. Kemudian, dapatkan masa semasa melalui date("Y-m-d H:i:s"), dan tetapkan masa pemadaman kepada 30 minit melalui strtotime("+30 minit") . Akhirnya, mesej dimasukkan ke dalam pangkalan data dan sambungan pangkalan data ditutup. 🎜🎜Apabila pengguna melihat mesej, kita perlu menyemak sama ada masa semasa melebihi masa pemadaman mesej. Jika masa pemadaman melebihi, kami boleh memadamkan mesej daripada pangkalan data. Berikut ialah contoh kod ringkas yang melaksanakan fungsi pengguna melihat mesej dan memadam mesej: 🎜rrreee🎜Dalam kod di atas, kami menggunakan $_GET untuk mendapatkan ID mesej dalam mesej yang dilihat oleh pengguna . Kemudian, dapatkan masa semasa melalui date("Y-m-d H:i:s") dan tanya masa pemadaman mesej. Berdasarkan perbandingan antara masa semasa dan masa pemadaman, kami boleh memutuskan sama ada untuk memadam mesej atau memaparkan kandungan mesej. 🎜🎜Melalui contoh kod di atas, kita boleh melaksanakan fungsi mesej hilang dan dipadam selepas membaca dalam sistem sembang masa nyata berdasarkan PHP. Dengan cara ini, mesej yang dihantar oleh pengguna boleh dipadamkan secara automatik selepas masa yang ditetapkan, melindungi privasi dan keselamatan maklumat pengguna. Sudah tentu, kami juga boleh membuat pengoptimuman dan penambahbaikan yang sesuai berdasarkan keperluan sebenar. Harap artikel ini membantu anda! 🎜

Atas ialah kandungan terperinci Sistem sembang masa nyata berdasarkan PHP, mesej hilang selepas dibaca dan dipadamkan selepas dibaca. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn