Menentukan Status Dalam Talian Pengguna dengan Sesi dan MySQL
Untuk memastikan sama ada pengguna terlibat secara aktif, seseorang boleh menggunakan mekanisme penjejakan sesi dalam PHP dan MySQL. Setiap kali pengguna mengakses halaman web, cap masa yang mewakili masa aktif terakhir mereka direkodkan dalam entri pangkalan data pengguna mereka. Selepas itu, pertanyaan dijalankan untuk mengira pengguna dengan masa aktif terakhir dalam tempoh lima minit terakhir, dengan berkesan membezakan pengguna dalam talian daripada pengguna luar talian.
Aktiviti Pengguna Yang Dikemas Kini Berterusan
Kepada memantau aktiviti pengguna walaupun semasa tempoh tidak aktif yang berpanjangan, JavaScript boleh digunakan untuk menghantar "ping" berkala ke pelayan setiap 60 saat. Kemas kini berterusan ini memastikan rekod pengguna kekal tepat, tanpa mengira kekerapan menyemak imbas.
Kod Asal (2009)
<code class="javascript">var stillAlive = setInterval(function () { /* XHR back to server Example uses jQuery */ $.get("stillAlive.php"); }, 60000);</code>
Kod Kemas Kini (2022)
<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 Menentukan Status Dalam Talian Pengguna dengan Sesi dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!