Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menjejaki Status Dalam Talian Pengguna dengan Cekap dalam PHP dan MySQL?

Bagaimana untuk Menjejaki Status Dalam Talian Pengguna dengan Cekap dalam PHP dan MySQL?

Susan Sarandon
Susan Sarandonasal
2024-10-26 13:31:30882semak imbas

How to Efficiently Track User Online Status in PHP and MySQL?

Menentukan Status Dalam Talian Pengguna dalam PHP dan MySQL

Menggunakan penjejakan sesi, artikel ini bertujuan untuk mewujudkan kaedah yang berkesan untuk menentukan pengguna dalam talian kehadiran.

Membonceng pada Sesi

Walaupun membonceng pada sesi PHP menyediakan penyelesaian yang mudah, ia bergantung pada cap masa dan tamat masa. Untuk mengelakkan pengehadan ini, kami meneroka pendekatan alternatif yang berpusat pada penjejakan aktiviti pengguna.

Penjejakan Berasaskan Pangkalan Data

Dalam jadual "Pengguna" pangkalan data anda, buat "lastActiveTime " medan yang menangkap masa interaksi terakhir pengguna. Dengan mengemas kini medan ini secara berterusan, anda boleh menentukan status dalam talian pengguna dengan membuat pertanyaan untuk mereka yang mempunyai "lastActiveTime" dalam tempoh masa tertentu, seperti lima minit yang lalu.

Mengelakkan Zon Masa

Untuk memudahkan proses, gunakan masa pelayan anda (melalui fungsi NOW() MySQL) daripada cuba mengambil kira zon waktu. Pendekatan ini menyediakan kaedah yang boleh dipercayai untuk menjejak pengguna aktif dalam masa nyata.

Kemas Kini Malar

Jika menjejaki aktiviti berterusan adalah penting, anda boleh melaksanakan skrip JavaScript yang menghantar "ping" ke pelayan anda setiap minit. Ini akan mengemas kini rekod aktiviti pengguna tanpa memerlukan penyemakan imbas halaman yang berterusan.

Coretan Kod Kemas Kini

Coretan kod dikemas kini berikut menggunakan pengambilan dan berjanji untuk mengendalikan permintaan "ping":

<code class="javascript">(async function ping() {
    // Asynchronously call stillAlive.php
    await fetch("stillAlive.php");
    // Issue this call again in 60 seconds
    setTimeout(ping, 60_000);
}());</code>

Atas ialah kandungan terperinci Bagaimana untuk Menjejaki Status Dalam Talian Pengguna dengan Cekap dalam PHP dan MySQL?. 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