Dengan perkembangan Internet yang berterusan, pemesejan segera telah menjadi bentuk utama komunikasi harian dalam masyarakat moden, jadi fungsi menghantar mesej segera dan mesej sembang telah menjadi ciri penting dalam pelbagai laman web dan aplikasi. Artikel ini akan memperkenalkan langkah dan langkah berjaga-jaga untuk melaksanakan fungsi penghantaran mesej sembang pemesejan segera dalam PHP.
1. Penciptaan pangkalan data
Pertama, kita perlu mencipta pangkalan data untuk menyimpan data masa nyata mesej sembang. Dalam artikel ini, kami mengambil MySQL sebagai contoh untuk mencipta pangkalan data bernama "chat". Kemudian, kami mencipta jadual data yang dipanggil "mesej", yang akan mengandungi medan berikut:
2. Pengesahan pengguna
Sebelum melaksanakan fungsi pemesejan segera, kita perlu memastikan bahawa pengguna telah log masuk dan sesi telah berjaya disahkan. Anda boleh menggunakan mekanisme Sesi PHP untuk melaksanakan pengesahan pengguna.
3. Halaman Sembang
Pertama, kita perlu membuat halaman sembang dan menambah kod HTML dan CSS. Anda boleh menggunakan rangka kerja bahagian hadapan seperti Bootstrap untuk memudahkan reka bentuk halaman.
Seterusnya, kita perlu memanggil kod PHP untuk menyampaikan mesej sembang untuk pengguna. Kita boleh menggunakan kod berikut untuk menanyakan mesej sembang dalam pangkalan data:
SELECT * FROM messages WHERE (sender_id = $user_id AND receiver_id = $friend_id) OR (sender_id = $friend_id AND receiver_id = $user_id) ORDER BY created_at ASC
di mana $user_id dan $friend_id ialah ID pengguna dan rakan.
4. Fungsi penghantaran mesej
Untuk melaksanakan fungsi pemesejan segera, kita perlu menulis skrip Ajax untuk menghantar data ke pelayan dan menghuraikan respons tanpa memuat semula keseluruhan halaman.
Logik teras sembang pemesejan segera ialah protokol WebSockets, tetapi dalam artikel ini, kami akan menggunakan undian Ajax untuk mensimulasikan komunikasi masa nyata.
Di halaman hadapan, kita perlu menggunakan kod JavaScript untuk melaksanakan permintaan Ajax:
$('#send').click(function() { var message = $('#message').val(); $.ajax({ type: 'POST', url: 'send_message.php', data: { receiver_id: receiver_id, content: message, csrf_token: csrf_token }, success: function(data) { // code for successful execution } }); });
Selepas menghantar mesej berjaya, kita perlu memasukkan mesej ke dalam pangkalan data:
INSERT INTO messages (sender_id, receiver_id, content, created_at) VALUES ($user_id, $friend_id, '$content', NOW())
Dalam pusingan seterusnya Dalam permintaan pertanyaan, kita perlu menanyakan mesej terkini daripada pangkalan data dan kemudian menghantarnya semula ke halaman hujung hadapan. Ini boleh dicapai menggunakan kod berikut:
SELECT * FROM messages WHERE (sender_id = $friend_id AND receiver_id = $user_id AND created_at > '$last_update') ORDER BY created_at ASC
Dalam kod di atas, $last_update ialah cap masa bagi tinjauan pendapat terakhir.
5 Keselamatan
Seperti kebanyakan aplikasi web, fungsi penghantaran sembang juga mungkin menghadapi beberapa masalah keselamatan. Contohnya:
6. Ringkasan
Dalam artikel ini, kami memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi penghantaran mesej sembang pemesejan segera. Pertama, kami mencipta pangkalan data dan memaparkan halaman sembang selepas pengesahan pengguna. Kemudian, kami menggunakan undian Ajax dan pertanyaan SQL untuk melaksanakan pemesejan segera. Akhir sekali, kami membincangkan isu keselamatan dan menyediakan penyelesaian.
Atas ialah kandungan terperinci PHP melaksanakan fungsi penghantaran mesej sembang pemesejan segera. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!