搜尋
首頁後端開發php教程寫一個用戶在線顯示的程式_PHP教程
寫一個用戶在線顯示的程式_PHP教程Jul 21, 2016 pm 04:06 PM
作者網路開始文章顯示使用者程式能夠

在開始這篇文章時,作者假設讀者已能夠寫出一個用戶的登錄認證程序.
-------------------------- --------------------------------
記數器可完成訪問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 "

";
for($i =0;$i$name=mysql_result($result,$i,"name");
echo "";
}
}
?>

上面這段程式已能顯示所有線上的使用者人數及各使用者名稱,當然這個程式還很不完善.如果其中一個使用者登出離開後,資料庫就不應該有此使用者的記錄所以,還得在登出程式假設為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 timeminute)

但是其中還有一個問題就是如果有個用戶一直在不停地執行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
$result= mysql_query("select * from line");
$num=mysql_numrows($result);
if (!empty($num)) {
echo "
";
echo "現在線上人數為:$num";
echo "
使用者:$name
";
for($i=0;$i$name=mysql_result($result,$i,"name");
echo "";
}
}
?>

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

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315471.htmlTechArticle在開始這篇文章時,作者假設讀者已能夠寫出一個用戶的登錄認證程序. --- -------------------------------------------------- ----- 記數器可完成存取web 頁...
" ;
echo "現在線上人數為:$num";
echo "
使用者:$name
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Windows 11 上缺少本地用户和组:如何添加它Windows 11 上缺少本地用户和组:如何添加它Sep 22, 2023 am 08:41 AM

“本地用户和组”实用程序内置于“计算机管理”中,可以从控制台访问,也可以独立访问。但是,一些用户发现Windows11中缺少本地用户和组。对于可以访问它的一些人来说,该消息显示,此管理单元可能不适用于此版本的Windows10。若要管理此计算机的用户帐户,请使用“控制面板”中的“用户帐户”工具。该问题已在上一次迭代Windows10中报告,并且通常是由于用户端的问题或疏忽引起的。为什么Windows11中缺少本地用户和组?您运行的是Windows家庭版,本地用户和组在专业版及更高版本上可用。活动

探索Windows 11指南:如何访问旧硬盘驱动器上的用户文件夹探索Windows 11指南:如何访问旧硬盘驱动器上的用户文件夹Sep 27, 2023 am 10:17 AM

由于权限,并不总是可以访问某些文件夹,在今天的指南中,我们将向您展示如何在Windows11上的旧硬盘驱动器上访问用户文件夹。此过程很简单,但可能需要一段时间,有时甚至数小时,具体取决于驱动器的大小,因此请格外耐心并严格按照本指南中的说明进行操作。为什么我无法访问旧硬盘上的用户文件夹?用户文件夹的所有权属于另一台电脑,因此您无法对其进行修改。除了所有权之外,您对该文件夹没有任何权限。如何打开旧硬盘上的用户文件?1.取得文件夹的所有权并更改权限找到旧的用户目录,右键单击它,然后选择属性。导航到“安

Windows 11 KB5031455无法安装,导致某些用户出现其他问题Windows 11 KB5031455无法安装,导致某些用户出现其他问题Nov 01, 2023 am 08:17 AM

Microsoft开始推出作为Windows503145511H22或更高版本的可选更新向公众KB2。这是第一个默认启用Windows11Moment4功能的更新,包括受支持区域中的WindowsCopilot、对“开始”菜单中项目的预览支持、任务栏的取消分组等。此外,它还修复了Windows11的几个错误,包括导致内存泄漏的潜在性能问题。但具有讽刺意味的是,2023年<>月的可选更新对于尝试安装更新的用户甚至已经安装更新的用户来说都是一场灾难。许多用户不会安装此Wi

Win11 新版画图:一键移除背景实现抠图功能Win11 新版画图:一键移除背景实现抠图功能Sep 15, 2023 pm 10:53 PM

微软邀请Canary和Dev频道的WindowsInsider项目成员,测试和体验新版画图(Paint)应用,最新版本号为11.2306.30.0。本次版本更新最值得关注的新功能是一键抠图功能,用户只需要点击一下,就能自动消除背景,凸显画面主体,便于用户后续操作。整个步骤非常简单,用户在新版画图应用中导入图片,然后点击工具栏上“移除背景”(removebackground)按钮,就可以删除图片中的背景,用户也可以使用矩形来选择要消除背景的区域。

TranslucentTB不起作用:如何解决TranslucentTB不起作用:如何解决Jun 06, 2023 am 08:21 AM

TranslucentTB是寻求时尚简约桌面外观的Windows11爱好者广泛使用的工具,遇到了障碍。自从发布以来Windows11内部版本22621.1344(22H2)28年2023月日,TranslucentTB对大多数用户不起作用。此错误使用户努力应对其任务栏的有限自定义选项。用户在寻求克服这一挫折的解决方案时,挫败感显而易见。在最近的Windows11更新之后,TranslucentTB无法正常工作的问题已在多个在线平台上广泛报道,包括论坛和社交媒体。用户一直在分享他们的经验,拼命寻找

mysql 怎么修改hostmysql 怎么修改hostFeb 15, 2023 am 10:17 AM

mysql修改host的方法:1、通过“sudo service mysql stop”停掉mysql服务;2、以安全模式启动mysql,然后重置root密码;3、通过“update user set Host='%' where User='hive';”语句修改host即可。

如何下载iPhone地图以供离线使用如何下载iPhone地图以供离线使用Nov 04, 2023 pm 11:13 PM

随着iOS17的推出,Apple使iPhone用户可以下载地图以供离线使用。此功能为可能前往互联网连接不可靠或不存在的地区的用户提供了实用的解决方案。通过将地图下载到他们的设备上,用户可以确保即使失去蜂窝连接,他们也可以始终访问他们想要的路线。离线地图不仅仅是一个位置的静态图像。它们为用户提供了丰富的信息,例如地点的小时数和评级、转弯路线和预计到达时间。这意味着即使没有Wi-Fi或蜂窝连接,用户仍然可以导航和访问有关周围环境的关键信息。在“地图”中使用搜索功能打开“地图”应用,在搜索中搜索某个地

修复: LSA 数据库包含内部不一致修复: LSA 数据库包含内部不一致Aug 04, 2023 am 09:17 AM

在使用驱动器映射和网络共享时,可能会出错很多问题。无线网络不如有线网络可靠。一直困扰用户的错误是本地安全机构数据库包含内部不一致。这会影响所有网络驱动器,用户无法访问或连接到它。该错误还会导致通过Samba到Linux和其他工作站的网络共享出现问题。在某些情况下,用户会看到消息,云端硬盘无法访问。您可能没有使用此网络资源的权限。本地安全机构数据库包含内部不一致。继续阅读以了解有关问题的所有信息!为什么无法访问网络驱动器?以下是网络驱动器突然停止工作的几个原因:缺少权限:通常,使用权限不足的帐户(

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)