欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【PHP+MYSQL实例:网站在线人数的程序代码】,下面是详细的分享!
PHP+MYSQL实例:网站在线人数的程序代码
PHP实例教程:网站在线人数的程序代码,后台有MYSQL数据库支持。可以直接统计出网站当前的在线人数。
首先是创建MYSQL数据库表。
| 以下为引用的内容: CREATE TABLE tablename ( field type(max_length) DEFAULT 'default_value' (NOT) NULL } |
可以使用的SQL语句。
| 以下为引用的内容: CREATE TABLE useronline ( timestamp int(15) DEFAULT '0' NOT NULL, ip varchar(40) NOT NULL, file varchar(100) NOT NULL, PRIMARY KEY (timestamp), KEY ip (ip), KEY file (file) ); |
下面我们开始使用PHP脚本,首先定义MYSQL的信息。
$server="localhost"; //你的服务器
$db_user="root"; //你的mysql的用户名
$db_pass="password"; //你的mysql的密码
$database="users"; //表的名字
设置统计的时间(多少秒内在线人数)
$timeoutseconds=300;
取当前时间。
$timestamp=time();
上面的完整代码:
| 以下为引用的内容: $insert=mysql_db_query($database, "INSERT INTO useronline VALUES ('$timestamp','".$_SERVER['REMOTE_ADDR']."','".$_SERVER['PHP_SELF']."')"); |
连接mysql
mysql_connect('localhost', 'username', 'password');
也允许使用变量形式。
mysql_connect($server, $db_user, $db_pass);
如果mysql数据库没有密码的话可以使用下面代码连接(当然建议大家一定要设置好自己的密码,这样起码黑客得要解密啊)
mysql_connect($server, $db_user);
查询数据库的代码:
mysql_db_query('database', 'query');
我们只要有访客就要增加一条记录。
| 以下为引用的内容: $insert=mysql_db_query($database, "INSERT INTO useronline VALUES ('$timestamp','".$_SERVER['REMOTE_ADDR']."','".$_SERVER['PHP_SELF']."')"); |
然后我们给出如果用户用错误信息的处理方式。
| 以下为引用的内容: if(!($insert)) { print "Useronline Insert Failed > "; } |
然后我们得实现当超过我们设置的时间我们就要删除该用户记录。
$delete=mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout");
同样给出删除记录出错的处理。
| 以下为引用的内容: if(!($delete)) { print "Useronline Delete Failed > "; } |
下面我们显示数据库中有多少个不同的IP
$result=mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='".$_SERVER['PHP_SELF']."' ");
我们使用
mysql_num_rows(query);
来统计用户,代码如下。
$user=mysql_num_rows($result);
最后我们要关闭数据库。
mysql_close();
显示在线的人数。
| 以下为引用的内容: if($user==1) { print("1 user online\n"); } else { print("$user users online\n"); } |
最终把上面代码写成一个PHP文件如下。
| 以下为引用的内容: <?php |
以上所分享的是关于PHP+MYSQL实例:网站在线人数的程序代码,下面是编辑为你推荐的有价值的用户互动:
相关问题:请高手解释统计在线人数的PHP代码
答://我是菜鸟。。 $timesec=gettimeofday(); //取得当前时间,返回一个关联数组 $tmp=file("time.txt"); //把time.txt读入到数组$tmo中,文件一行对应数组一个单元 if ($tmp[0]==""){ $fopen0=fopen("time.txt","w+");//读写方式打开,将文件指针指... >>详细
相关问题:php如何实现记录网站在线人数
答:这个方法是我重网上找的,你可以看看: 主要原理:把每个访客的session ID 作为文件名,生成一个空白文件在指定的文件夹。如果检查到这份文件的生成时间已经超过了指定的时间,即删除。那么,统计文件的数量可以得到在线人数。 如果的代码放在一... >>详细
相关问题:网站在线人数统计代码
答:以前我做过一个简单的Session的JSP,给楼主看一下,这个实现了登陆的重复检查,只要将重复这部分改称计数即可,如果有问题,请加QQ:71877848 简单的登陆界面: Gantry HTML 姓名 检查是否重复登陆界面 Session >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
