怎样实现在线用户列表?_PHP
- WBOY原创
- 2016-06-01 12:34:091425浏览
PHP代码:
<font color="#000000"><br><br><br><font color="#0000bb"><br><br></font><font color="#ff8000">#<br><br># Author: Marco(hkfuk)<br><br>#<br><br># Contact: Crazy_Marco@msn.com<br><br>#<br><br></font><font color="#0000bb">$host</font><font color="#007700">=</font><font color="#dd0000">"localhost"</font><font color="#007700">;</font><font color="#ff8000">//mysql的host<br><br></font><font color="#0000bb">$user</font><font color="#007700">=</font><font color="#dd0000">"root"</font><font color="#007700">;</font><font color="#ff8000">//mysql的用戶名稱<br><br></font><font color="#0000bb">$pw</font><font color="#007700">=</font><font color="#dd0000">""</font><font color="#007700">;</font><font color="#ff8000">//mysql的密碼<br><br></font><font color="#0000bb">$db</font><font color="#007700">=</font><font color="#dd0000">""</font><font color="#007700">;</font><font color="#ff8000">//mysql資料庫名稱<br><br></font><font color="#0000bb">$update_time</font><font color="#007700">=</font><font color="#dd0000">"30"</font><font color="#007700">;</font><font color="#ff8000">//更新的頻率---秒数<br><br></font><font color="#0000bb">session_start</font><font color="#007700">();<br><br>if(!</font><font color="#0000bb">$_SESSION</font><font color="#007700">[</font><font color="#dd0000">'name'</font><font color="#007700">])</font><font color="#0000bb">session_register</font><font color="#007700">(</font><font color="#dd0000">"name"</font><font color="#007700">);<br><br></font><font color="#ff8000">############################################<br><br></font><font color="#0000bb">$con</font><font color="#007700">=</font><font color="#0000bb">mysql_connect</font><font color="#007700">(</font><font color="#0000bb">$host</font><font color="#007700">,</font><font color="#0000bb">$user</font><font color="#007700">,</font><font color="#0000bb">$pw</font><font color="#007700">)or die(</font><font color="#dd0000">"不可以連接資料庫"</font><font color="#007700">);<br><br></font><font color="#0000bb">$now</font><font color="#007700">=</font><font color="#0000bb">time</font><font color="#007700">();<br><br></font><font color="#0000bb">mysql_select_db</font><font color="#007700">(</font><font color="#0000bb">$db</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">)or die(</font><font color="#dd0000">"錯誤的資料庫$db"</font><font color="#007700">);<br><br>if(!empty(</font><font color="#0000bb">$name</font><font color="#007700">)){</font><font color="#ff8000">//如果用戶已經登入了<br><br></font><font color="#0000bb">$query</font><font color="#007700">=</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"select count(username) from online_list where username='$name'"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//查詢在線到表是否已經有用戶的名稱<br><br></font><font color="#0000bb">$result</font><font color="#007700">=</font><font color="#0000bb">mysql_result</font><font color="#007700">(</font><font color="#0000bb">$query</font><font color="#007700">,</font><font color="#0000bb">0</font><font color="#007700">);</font><font color="#ff8000">//查詢的結果<br><br></font><font color="#007700">if(</font><font color="#0000bb">$result</font><font color="#007700">!=</font><font color="#0000bb">0</font><font color="#007700">){</font><font color="#ff8000">//如果用戶已經在在線列表了<br><br></font><font color="#007700">@</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"update online_list set second_time='$now' where username='$name'"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//更新用戶的最後在線時間<br><br></font><font color="#007700">}else{</font><font color="#ff8000">//如果用戶已經不在在線列表<br><br></font><font color="#007700">@</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"insert into online_list(username,userip,online_time,second_time)values('$name','$REMOTE_ADDR','$now','$now')"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//新增一個用戶到在線列表<br><br></font><font color="#007700">}<br><br>}<br><br><br><br>else{</font><font color="#ff8000">//如果用戶沒有登入<br><br></font><font color="#0000bb">$query</font><font color="#007700">=</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"select count(userip) from online_list where userip='$REMOTE_ADDR'"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//查詢在線到表是否已經有訪客的ip 地址<br><br></font><font color="#0000bb">$result</font><font color="#007700">=</font><font color="#0000bb">mysql_result</font><font color="#007700">(</font><font color="#0000bb">$query</font><font color="#007700">,</font><font color="#0000bb">0</font><font color="#007700">);</font><font color="#ff8000">//查詢的結果<br><br></font><font color="#007700">if(</font><font color="#0000bb">$result</font><font color="#007700">!=</font><font color="#0000bb">0</font><font color="#007700">){</font><font color="#ff8000">//如果訪客的ip地址已經在在線列表了<br><br></font><font color="#007700">@</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"update online_list set second_time='$now' where userip='$REMOTE_ADDR'"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//更新訪客的最後在線時間<br><br></font><font color="#007700">}else{</font><font color="#ff8000">//如果用戶列表沒有訪客的ip地址<br><br></font><font color="#007700">@</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"insert into online_list(username,userip,online_time,second_time)values('訪客','$REMOTE_ADDR','$now','$now')"</font><font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//新增一個訪客到在線列表<br><br></font><font color="#007700">}<br><br>}<br><br></font><font color="#0000bb">$del_time</font><font color="#007700">=</font><font color="#0000bb">$now</font><font color="#007700">-</font><font color="#0000bb">$update_time</font><font color="#007700">;<br><br>@</font><font color="#0000bb">mysql_query</font><font color="#007700">(</font><font color="#dd0000">"delete from online_list where second_time<font color="#007700">,</font><font color="#0000bb">$con</font><font color="#007700">);</font><font color="#ff8000">//刪除在$update_time秒內沒有動作的用戶<br><br></font><font color="#0000bb">?><br><br></font><br><br></font></font>
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn