熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

php 進階:寫一個用戶在線顯示的程序

2022-06-13   來源: PHP編程 
在開始這篇文章時作者假設讀者已能夠寫出一個用戶的登入認證程序

記數器可完成訪問 web 頁的總次數但卻不能得知一個時段中訪問量的動態記載下面就來介紹如何寫一個各個時段動態顯示訪問量的方法
要記載訪問量首先就要在 mysql 內建立一個數據庫姑且給這個數據庫取名為 line同時建立一個名為 line 的數據表表內的字段分別為"用戶名(name varchar())時間(time datetime)"當然讀者也可根據需要增加數據表的字段
建立好數據庫後就可以開始設計程序了現在先理清一下思路要想顯示訪問量當然數據庫就必須要有記錄我已假設讀者有能力寫一個用戶登入程序了所以向數據庫添加紀錄可在登入程序假設為 loginphp 裡添加:
先給現在時間付值:$time=date(Ymd H:i:s);
mysql_select_db(line);
mysql_query("insert into line (nametime) values($name$time)");
好了現在每一位登入的用戶在數據庫裡都有了一個記錄下面就來完成用戶在線顯示的程序 linephp:
<?
mysql_connect("local""""");
mysql_select_db(line);
$result=mysql_query("select * from line");
$num=mysql_numrows($result);
if (!empty($num)) {
echo "<table><tr><td>";
echo "現在在線人數為:$num";
echo "</td></tr>";
for($i=;$i<$num;$i++){
$name=mysql_result($result$i"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>
上面這段程序已能顯示所有在線的用戶人數及各用戶名當然這個程序還很不完善如果其中一個用戶登出離開後數據庫就不應該有此用戶的記錄所以還得在登出程序假設為 logoutphp 內加上刪除功能:
mysql_select_db(line);
mysql_query("delete from line where name=$name");
這時一個基本的用戶在線功能已經完成接下來繼續在 linephp 內增加代碼使功能更加完善首先我們得規定用戶在多長時間沒繼續浏覽 linephp 時就認為該用戶已經離開這裡給定一個時間限制為 分鐘也就是說程序將顯示從現在開始的前 分鐘的用戶情況所以必須 linephp 內設置一個現在時間告知程序從這個時間開始執行然後實現程序執行時把數據庫內記錄的時間減去現在時間大於 分鐘的所有記錄刪除這樣任何用戶在執行 linephp 時都能看到 分鐘內的所有在線的用戶完成這個功能需要以下這個數據庫語句:


From:http://tw.wingwit.com/Article/program/PHP/201405/30964.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.