Cara Menentukan Status Dalam Talian Pengguna dalam Masa Nyata Menggunakan PHP dan MySQL: Panduan Komprehensif.

Patricia Arquette
Lepaskan: 2024-10-27 11:45:29
asal
733 orang telah melayarinya

How to Determine User Online Status in Real-Time Using PHP and MySQL: A Comprehensive Guide.

Cara Menentukan Status Dalam Talian Pengguna dengan Sesi dan MySQL

Menentukan sama ada pengguna dalam talian dalam masa nyata adalah penting untuk pelbagai aplikasi. Walaupun menggunakan sesi untuk tujuan ini ialah pendekatan biasa, ia memerlukan mencari penyelesaian optimum yang menjejaki aktiviti pengguna dengan tepat tanpa bergantung pada ambang berasaskan masa.

Salah satu cara untuk mencapainya ialah dengan memanfaatkan medan lastActiveTime dalam Pengguna meja. Medan ini boleh dikemas kini setiap kali pengguna mengakses halaman. Dengan menanyakan jadual secara berkala untuk pengguna dengan lastActiveTime yang dikemas kini dalam tempoh masa tertentu (cth., 5 minit yang lalu), anda boleh menentukan siapa yang sedang dalam talian.

Contohnya, menggunakan fungsi NOW() MySQL untuk mendapatkan semula pelayan -masa sampingan memastikan konsistensi merentas zon waktu:

<?php
$query = "SELECT COUNT(*) AS online_count FROM Users WHERE lastActiveTime >= NOW() - INTERVAL 5 MINUTE";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
$onlineCount = $row['online_count'];
?>
Salin selepas log masuk

Walau bagaimanapun, untuk menjejaki aktiviti pengguna yang berterusan, pertimbangkan untuk melaksanakan JavaScript untuk melakukan ping ke pelayan pada selang masa yang tetap, seperti setiap 60 saat. Dengan cara ini, pengguna ditandakan sebagai dalam talian walaupun mereka tidak menavigasi tapak secara aktif.

Berikut ialah coretan kod JavaScript yang dikemas kini menggunakan fetch and promises:

<code class="js">(async function ping() {
  try {
    await fetch("stillAlive.php");
  } catch (error) {
    console.error(error);
  }
  setTimeout(ping, 60_000);
}());</code>
Salin selepas log masuk

Dengan memanfaatkan sesi dan medan lastActiveTime, digabungkan dengan mekanisme ping JavaScript, anda boleh menentukan status dalam talian pengguna dengan berkesan dalam PHP dan MySQL tanpa bergantung pada kriteria berasaskan masa.

Atas ialah kandungan terperinci Cara Menentukan Status Dalam Talian Pengguna dalam Masa Nyata Menggunakan PHP dan MySQL: Panduan Komprehensif.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!