


Bagaimana untuk melaksanakan fungsi komunikasi dalam talian dalam php
Dalam era Internet sekarang, komunikasi dalam talian telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian kita. Sama ada di tempat kerja atau dalam kehidupan, kita semua perlu berkomunikasi dan berinteraksi dengan orang lain dalam talian. Oleh itu, melaksanakan fungsi komunikasi dalam talian menjadi semakin penting dalam pembangunan laman web masa kini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi komunikasi dalam talian asas dan menyediakan contoh kod lengkap.
1. Reka bentuk jadual MySQL
Sebelum anda mula menulis kod PHP, sila reka struktur jadual pangkalan data mengikut keperluan anda Contohnya, reka struktur jadual bernama chat_message, yang perlu menyimpan data berikut:
- ID pengirim;
- ID Penerima;
- Berdasarkan keperluan di atas, kita perlu mereka bentuk struktur jadual berikut:
CREATE TABLE `chat_message` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `from_user_id` int(11) unsigned NOT NULL, `to_user_id` int(11) unsigned NOT NULL, `message` varchar(255) DEFAULT '', `send_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Berikut ialah contoh penyambungan ke pangkalan data MySQL:
3 Sisipkan mesej sembang Apabila pengguna menghantar mesej sembang di tapak web, kita perlu. masukkan mesej ke dalam pangkalan data.$servername = "localhost"; $username = "username"; $password = "password"; $dbname = "chat_db"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检查连接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
Berikut ialah contoh kod untuk memasukkan mesej sembang:
4 Dapatkan sejarah sembang Apabila pengguna melihat sejarah sembang di tapak web, kita perlu mendapatkannya daripada pangkalan data Dapatkan berita sejarah.// 获取发送人ID和接收人ID $from_user_id = $_SESSION['user_id']; $to_user_id = $_POST['to_user_id']; $message = $_POST['message']; // 获取当前时间 $send_time = date('Y-m-d H:i:s'); // 将数据插入到 chat_message 表中 $sql = "INSERT INTO chat_message (from_user_id, to_user_id, message, send_time) VALUES ('$from_user_id', '$to_user_id', '$message', '$send_time')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); }
Berikut ialah contoh kod untuk mendapatkan sejarah sembang:
Kod di atas akan menanyakan rekod sembang yang berkaitan dengan pengguna semasa daripada jadual chat_message dan mengeluarkan rekod mesej dalam susunan masa penghantaran . 5. Laksanakan UI web// 获取对话双方的ID $user1_id = $_GET['user1_id']; $user2_id = $_GET['user2_id']; // 查询消息记录 $sql = "SELECT * FROM chat_message WHERE (from_user_id = '$user1_id' AND to_user_id = '$user2_id') OR (from_user_id = '$user2_id' AND to_user_id = '$user1_id') ORDER BY send_time ASC"; $result = mysqli_query($conn, $sql); // 输出消息记录 while($row = mysqli_fetch_assoc($result)) { echo $row['send_time'] . " - " . $row['message'] . "<br>"; }
Akhir sekali, kita perlu menulis UI web yang membolehkan pengguna menghantar dan menerima mesej sembang dalam penyemak imbas.
Berikut ialah contoh kod untuk melaksanakan UI web:
Kod di atas akan mencipta UI web dan membenarkan pengguna menghantar dan menerima mesej dengan mengisi borang. Dengan menggunakan fungsi setInterval() untuk menanyakan rekod sembang secara berkala dan menggunakan objek XMLHttpRequest untuk menghantar data ke pelayan, kami boleh menyemak rekod sembang baharu dalam masa nyata. Pada masa yang sama, dengan menambahkan pendengar acara pada borang menggunakan fungsi addEventListener(), kami boleh menangkap mesej yang diserahkan pengguna dan memasukkannya ke dalam pangkalan data. 6. Kod lengkap<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>网上交流功能</title> </head> <body> <h1>网上交流功能</h1> <div id="chat_box" style="border: 1px solid black; height: 500px; overflow: auto;"></div> <br> <form id="message_form" action="" method="POST"> 接收人ID:<input type="text" name="to_user_id"><br><br> 消息内容:<input type="text" name="message"><br><br> <input type="submit" value="发送"> </form> <script> // 获取聊天记录 setInterval(function() { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { document.getElementById("chat_box").innerHTML = this.responseText; } }; xmlhttp.open("GET", "get_chat_history.php?user1_id="+user1_id+"&user2_id="+user2_id, true); xmlhttp.send(); }, 1000); // 发送消息 document.getElementById("message_form").addEventListener("submit", function(event) { event.preventDefault(); var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(this.responseText); } }; var data = new FormData(document.getElementById("message_form")); xmlhttp.open("POST", "insert_chat_message.php", true); xmlhttp.send(data); document.getElementById("message_form").reset(); }); </script> </body> </html>
Berikut ialah contoh kod PHP untuk menyambung ke pangkalan data MySQL, memasukkan mesej sembang dan mendapatkan sejarah sembang.
connect_db.php
insert_chat_message.php<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "chat_db"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检查连接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } ?>
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi komunikasi dalam talian dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Artikel ini membincangkan fungsi mysqli_query () dan mysqli_fetch_assoc () dalam PHP untuk interaksi pangkalan data MySQL. Ia menerangkan peranan, perbezaan, dan memberikan contoh praktikal penggunaannya. Hujah utama memberi tumpuan kepada manfaat usin

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.
