PHP 및 MySQL을 사용하여 실시간으로 사용자 온라인 상태를 확인하는 방법: 종합 가이드.

Patricia Arquette
풀어 주다: 2024-10-27 11:45:29
원래의
733명이 탐색했습니다.

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

세션 및 MySQL을 사용하여 사용자 온라인 상태를 확인하는 방법

사용자가 온라인 상태인지 실시간으로 확인하는 것은 다양한 애플리케이션에서 매우 중요합니다. 이러한 목적으로 세션을 사용하는 것이 일반적인 접근 방식이지만 시간 기반 임계값에 의존하지 않고 사용자 활동을 정확하게 추적하는 최적의 솔루션을 찾아야 합니다.

이를 달성하는 한 가지 방법은 사용자 필드에서 lastActiveTime 필드를 활용하는 것입니다. 테이블. 이 필드는 사용자가 페이지에 액세스할 때마다 업데이트될 수 있습니다. 특정 시간 프레임(예: 지난 5분) 내에 업데이트된 lastActiveTime을 가진 사용자에 대한 테이블을 주기적으로 쿼리하여 누가 현재 온라인 상태인지 확인할 수 있습니다.

예를 들어, MySQL의 NOW() 함수를 사용하여 서버를 검색합니다. -사이드 시간은 시간대 전반에 걸쳐 일관성을 보장합니다.

<?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'];
?>
로그인 후 복사

그러나 지속적인 사용자 활동을 추적하려면 JavaScript를 구현하여 정기적인 간격(예: 60초마다)으로 서버를 핑하는 것이 좋습니다. 이렇게 하면 사용자가 사이트를 적극적으로 탐색하지 않더라도 온라인으로 표시됩니다.

다음은 fetch 및 promise를 사용하여 업데이트된 JavaScript 코드 조각입니다.

<code class="js">(async function ping() {
  try {
    await fetch("stillAlive.php");
  } catch (error) {
    console.error(error);
  }
  setTimeout(ping, 60_000);
}());</code>
로그인 후 복사

세션과 JavaScript ping 메커니즘과 결합된 lastActiveTime 필드를 사용하면 시간 기반 기준에 의존하지 않고 PHP 및 MySQL에서 사용자 온라인 상태를 효과적으로 확인할 수 있습니다.

위 내용은 PHP 및 MySQL을 사용하여 실시간으로 사용자 온라인 상태를 확인하는 방법: 종합 가이드.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!