Home >Backend Development >PHP Problem >How to determine if the user is online in php
There are many ways to determine whether a user is offline or online. Here is a relatively simple and commonly used logic.
Ideas:
1: First get the user’s last saved session_id (recommended Learning: PHP programming from entry to proficiency)
//这里可以保存到数据库中获取 //假设 $memberSessionId = getMemberSessionId();
2: Use the session_id obtained in the first step to find whether the current session exists
//只要开启了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 // 如果存在,则在线,否则反之
Three: If the user exits normally, delete the current session
// 将全局SESSION变量数组设置空. $_SESSION = array(); // 如果SESSION数据存储在COOKIE中则删除COOKIE. // Note: 将注销整个SESSION对象, 而不仅仅是SESSION数据! if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最后,注销SEESION. session_destroy();
Four, if the user closes the browser directly, wait for the server session to be recycled
The above is the detailed content of How to determine if the user is online in php. For more information, please follow other related articles on the PHP Chinese website!