怎样实现在线用户列表?_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으로 문의하세요.