----------------------------------------------------------
記數器可完成訪問 web 頁的總次數,但卻不能得知一個時段中訪問量的動態記載,下面 " /> 成人亚洲欧美,a级午夜理论免费毛片,在线观看成年

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

寫一個用戶在線顯示的程序

在開始這篇文章時,作者假設讀者已能夠寫出一個用戶的登入認證程序.
----------------------------------------------------------
記數器可完成訪問 web 頁的總次數,但卻不能得知一個時段中訪問量的動態記載,下面就來介紹如何寫一個各個時段動態顯示訪問量的方法.

要記載訪問量,首先就要在 mysql 內建立一個數據庫,姑且給這個數據庫取名為 line,同時建立一個名為 line 的數據表,表內的字段分別為"用戶名(name varchar(20)),時間(time datetime)".當然讀者也可根據需要增加數據表的字段.

建立好數據庫后,就可以開始設計程序了,現在先理清一下思路,要想顯示訪問量,當然數據庫就必須要有記錄,我已假設讀者有能力寫一個用戶登入程序了,所以向數據庫添加紀錄可在登入程序假設為 login.php 里添加:

先給現在時間付值:$time=date('Y-m-d H:i:s');
mysql_select_db(line);
mysql_query("insert into line (name,time) values('$name','$time')");

好了,現在每一位登入的用戶在數據庫里都有了一個記錄,下面就來完成用戶在線顯示的程序 line.php:

<?
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=0;$i<$num;$i++){
$name=mysql_result($result,$i,"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>

上面這段程序已能顯示所有在線的用戶人數及各用戶名,當然這個程序還很不完善.如果其中一個用戶登出離開后,數據庫就不應該有此用戶的記錄所以,還得在登出程序假設為 logout.php 內加上刪除功能:

mysql_select_db(line);
mysql_query("delete from line where name='$name'");

這時一個基本的用戶在線功能已經完成,接下來繼續在 line.php 內增加代碼使功能更加完善,首先我們得規定用戶在多長時間沒繼續瀏覽 line.php 時就認為該用戶已經離開,這里給定一個時間限制為 5 分鐘,也就是說程序將顯示從現在開始的前 5 分鐘的用戶情況,所以必須 line.php 內設置一個現在時間告知程序從這個時間開始執行,然后實現程序執行時把數據庫內記錄的時間減去現在時間大于 5 分鐘的所有記錄刪除,這樣任何用戶在執行 line.php 時,都能看到 5 分鐘內的所有在線的用戶,完成這個功能需要以下這個數據庫語句:

delete from line where time<date_sub('$time',interval 5
minute)

但是其中還有一個問題就是如果有個用戶一直在不停地執行 line.php 超過 5 分鐘以上時,程序必須得分辨出該用戶并一直顯示該用戶,在這就得利用 cookie 來實現更新數據庫的時間記錄了,因為是登入認證的,所以會有個 cookie 來記住用戶的資料的,假設這個記錄用戶姓名的 cookie 變量為 $cookiename (具體的變量視 cookie 的設置而定),剩下的就很好辦了,利用這個 cookie 變量完成數據庫的修改:

update line set time='$time' where name='$cookiename'

下面來完善 line.php:

<?
//設置現在的時間
$time=date('Y-m-d H:i:s');
mysql_connect("local","","");
mysql_select_db(line);

//更新用戶的記錄
mysql_query("update line set time='$time' where name='$cookiename'");

//刪除超過 5 分鐘的用戶記錄
mysql_query("delete from line where time<date_sub('$time',interval 5 minute)");

$result=mysql_query("select * from line");
$num=mysql_numrows($result);
if (!empty($num)) {
echo "<table><tr><td>";
echo "現在在線人數為:$num";
echo "</td></tr>";
for($i=0;$i<$num;$i++){
$name=mysql_result($result,$i,"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>

好用戶在線顯示功能完成.

php技術寫一個用戶在線顯示的程序,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久中文精品 | 91久久国产精品视频 | 免费色网址 | 国产精品手机在线 | 亚洲欧洲高清 | 四虎必出精品亚洲高清 | 青青草99久久精品国产综合 | 婷婷久久综合九色综合九七 | 91免费播放| 91网在线观看 | 91美女视频在线 | 色婷婷六月天 | 精品国产免费一区二区三区 | 亚洲美女福利视频 | 日韩香蕉网 | 五月激情六月 | 米奇精品一区二区三区 | 黄网站免费在线观看 | 色亚洲影院 | 天天色天天综合 | 欧美成人精品久久精品 | 国产精品外围在线观看 | 一区二区三区免费在线观看 | 欧美性满足hd1819 | 成人国产网站 | 九九久久免费视频 | 亚洲玖玖| 五月婷婷影视 | 天天在线天天综合网色 | 亚洲日本一区二区 | 韩国日本一区 | 麻豆视频大全 | 日韩亚洲欧洲在线com91tv | 一区二区三区中文 | 久久精品亚瑟全部免费观看 | 国产福利免费 | 天天五月天丁香婷婷深爱综合 | 久久中文字幕一区二区三区 | 亚洲一二三区久久五月天婷婷 | 激情综合欧美 | 久青草国产在线视频亚瑟影视 |