php

位置:IT落伍者 >> php >> 浏览文章

php 进阶:写一个用户在线显示的程序


发布日期:2020年05月22日
 
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 时都能看到 分钟内的所有在线的用户完成这个功能需要以下这个数据库语句:

上一篇:三种php删除文件代码

下一篇:php feof函数