----------------------------------------------------------
記數(shù)器可完成訪問(wèn) web 頁(yè)的總次數(shù),但卻不能得知一個(gè)時(shí)段中訪問(wèn)量的動(dòng)態(tài)記載,下面 " /> 免费人成在线观看网站,1769老司机人人精品视频,青娱乐91视频

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

寫(xiě)一個(gè)用戶在線顯示的程序

在開(kāi)始這篇文章時(shí),作者假設(shè)讀者已能夠?qū)懗鲆粋€(gè)用戶的登入認(rèn)證程序.
----------------------------------------------------------
記數(shù)器可完成訪問(wèn) web 頁(yè)的總次數(shù),但卻不能得知一個(gè)時(shí)段中訪問(wèn)量的動(dòng)態(tài)記載,下面就來(lái)介紹如何寫(xiě)一個(gè)各個(gè)時(shí)段動(dòng)態(tài)顯示訪問(wèn)量的方法.

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

建立好數(shù)據(jù)庫(kù)后,就可以開(kāi)始設(shè)計(jì)程序了,現(xiàn)在先理清一下思路,要想顯示訪問(wèn)量,當(dāng)然數(shù)據(jù)庫(kù)就必須要有記錄,我已假設(shè)讀者有能力寫(xiě)一個(gè)用戶登入程序了,所以向數(shù)據(jù)庫(kù)添加紀(jì)錄可在登入程序假設(shè)為 login.php 里添加:

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

好了,現(xiàn)在每一位登入的用戶在數(shù)據(jù)庫(kù)里都有了一個(gè)記錄,下面就來(lái)完成用戶在線顯示的程序 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 "現(xiàn)在在線人數(shù)為:$num";
echo "</td></tr>";
for($i=0;$i<$num;$i++){
$name=mysql_result($result,$i,"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>

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

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

這時(shí)一個(gè)基本的用戶在線功能已經(jīng)完成,接下來(lái)繼續(xù)在 line.php 內(nèi)增加代碼使功能更加完善,首先我們得規(guī)定用戶在多長(zhǎng)時(shí)間沒(méi)繼續(xù)瀏覽 line.php 時(shí)就認(rèn)為該用戶已經(jīng)離開(kāi),這里給定一個(gè)時(shí)間限制為 5 分鐘,也就是說(shuō)程序?qū)@示從現(xiàn)在開(kāi)始的前 5 分鐘的用戶情況,所以必須 line.php 內(nèi)設(shè)置一個(gè)現(xiàn)在時(shí)間告知程序從這個(gè)時(shí)間開(kāi)始執(zhí)行,然后實(shí)現(xiàn)程序執(zhí)行時(shí)把數(shù)據(jù)庫(kù)內(nèi)記錄的時(shí)間減去現(xiàn)在時(shí)間大于 5 分鐘的所有記錄刪除,這樣任何用戶在執(zhí)行 line.php 時(shí),都能看到 5 分鐘內(nèi)的所有在線的用戶,完成這個(gè)功能需要以下這個(gè)數(shù)據(jù)庫(kù)語(yǔ)句:

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

但是其中還有一個(gè)問(wèn)題就是如果有個(gè)用戶一直在不停地執(zhí)行 line.php 超過(guò) 5 分鐘以上時(shí),程序必須得分辨出該用戶并一直顯示該用戶,在這就得利用 cookie 來(lái)實(shí)現(xiàn)更新數(shù)據(jù)庫(kù)的時(shí)間記錄了,因?yàn)槭堑侨胝J(rèn)證的,所以會(huì)有個(gè) cookie 來(lái)記住用戶的資料的,假設(shè)這個(gè)記錄用戶姓名的 cookie 變量為 $cookiename (具體的變量視 cookie 的設(shè)置而定),剩下的就很好辦了,利用這個(gè) cookie 變量完成數(shù)據(jù)庫(kù)的修改:

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

下面來(lái)完善 line.php:

<?
//設(shè)置現(xiàn)在的時(shí)間
$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'");

//刪除超過(guò) 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 "現(xiàn)在在線人數(shù)為:$num";
echo "</td></tr>";
for($i=0;$i<$num;$i++){
$name=mysql_result($result,$i,"name");
echo "<tr><td>用戶:$name</td></tr>";
}
}
?>

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

php技術(shù)寫(xiě)一個(gè)用戶在線顯示的程序,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 五月天婷婷久久 | 无码精品一区二区三区免费视频 | 九九综合九九综合 | 青草社区在线观看 | 色哟哟视频在线观看 | 久久大胆人体 | 99久久伊人一区二区yy5o99 | 国产美女一区二区在线观看 | 久久久精品久久久久久久久久久 | 在线播放黄色 | 美国一级做a爰片性色毛片 美国一区二区三区 | 国产第一页在线视频 | 国产专区视频 | 国产精品好好热在线观看 | 国产精品12p | 看全色黄大色黄大片免责看 | 国产成人涩涩涩视频在线观看 | 自拍偷自拍亚洲精品被多人伦好爽 | 欧美一区二区精品 | 久久久亚洲欧洲日产国码二区 | 国产成人精品系列在线观看 | 91在线播放免费不卡无毒 | 亚洲精品日韩中文字幕久久久 | dyav午夜片 | 中文字幕99在线精品视频免费看 | 色网址在线观看 | 思思久久99热只有精品 | 综合图区亚洲白拍在线 | 国产精品手机在线观看 | 最色成人网 | 日本青草 | 久久国产免费一区二区三区 | 色爱区综合激情五月综合色 | 欧美日日 | 高清一区二区三区免费 | 国产观看精品一区二区三区 | 国产人成午夜免视频网站 | 91网址在线 | 97麻豆精品国产自产在线观看 | 国产美女又黄又爽又色视频网站 | 91视频看看|