Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie in PHP, ob der Benutzer online ist

So ermitteln Sie in PHP, ob der Benutzer online ist

(*-*)浩
(*-*)浩Original
2019-09-20 09:55:484348Durchsuche

Es gibt viele Möglichkeiten, festzustellen, ob ein Benutzer offline oder online ist. Hier ist eine relativ einfache und häufig verwendete Logik.

So ermitteln Sie in PHP, ob der Benutzer online ist

Ideen:

1: Zuerst die zuletzt gespeicherte Sitzungs-ID des Benutzers abrufen (empfohlenes Lernen). : PHP-Programmierung vom Einstieg bis zur Beherrschung)

//这里可以保存到数据库中获取
//假设
$memberSessionId = getMemberSessionId();

Zweitens: Verwenden Sie die im ersten Schritt erhaltene session_id, um herauszufinden, ob die aktuelle Sitzung existiert

//只要开启了session_start() ; 那么每个用户只要打开你的网站都将分配一个session_id
/* 这段代码可以获取到你服务器上的所有session
$handle = opendir(session_save_path());
while (false !== ($file = readdir($handle))) {
if(!in_array($file, array('.', '..', 'session_dir')))
echo "$file<br />";
}
closedir($handle);
*/
//这一步要获取到你在服务器上和用户匹配的session
// 假设
$serverSession == $memberSessionId // 如果存在,则在线,否则反之

Dritten: Wenn der Benutzer den Browser normal verlässt, löschen Sie die aktuelle Sitzung

// 将全局SESSION变量数组设置空.
$_SESSION = array();
// 如果SESSION数据存储在COOKIE中则删除COOKIE.
// Note: 将注销整个SESSION对象, 而不仅仅是SESSION数据!
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), &#39;&#39;, time()-42000, &#39;/&#39;);
}
// 最后,注销SEESION.
session_destroy();

Viertens: Wenn der Benutzer den Browser direkt schließt, warten Sie, bis die Serversitzung wiederverwendet wird

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in PHP, ob der Benutzer online ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn