All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL,Server的恢复模式_mssql学习_编程技术
PHP中的sprintf()函数的学习研究笔记_php资料_编程技术
Asp.Net2.0中实现多任务异步页的一点提示_.net资料_编程技术
动态网页制作PHP中Session的概念_php资料_编程技术
javascript实例:Select的OnChange()事件_JavaScript技术_编程技术
ASP.NET中制作WEB统计图控件的捷径_[Asp.Net教程]
技巧文集:PHP如何禁止图片文件的被盗链_php资料_编程技术
十二 Meta标签_[Html教程]
在Win2003,R2上安装SQL,Server,2005(一)_mssql学习_编程技术
SQL循序渐进(9)SELECT语句_[SQL,Server教程]
Reading number is top 10 pictures
开始让人感动,后来......
Born After 90 Beijing sports university campus flower photos1
Born After 90 Beijing sports university campus flower photos4
大人物的礼物
美丽的桂林风光1
Ashlynn Brooke a group sexy photo1
yy365网站上的美女2
男人,就要活出棱角
A man's favorite things5
The mother was a stay-at-home children too tired took three baby suicide
Download software ranking
金山office2007
Tram sex maniac 2 (H) rar bag13
Unix video tutorial6
Eclipse 4.2.2 For Win32
jdk1.5
Sora aoi 120 minutes
Boxer vs Yellow2
Unix video tutorial8
Professional killers2 data package
asp.netWeb服务器高级编程
aaa published in(发表于) 2013/12/21 22:24:21 Edit(编辑)
PHP+MYSQL实例:网站在线人数的程序代码_php资料_编程技术

PHP+MYSQL实例:网站在线人数的程序代码_php资料_编程技术

PHP+MYSQL实例:网站在线人数的程序代码_php资料_编程技术-你的首页-uuhomepage.com

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();

上面的完整代码:

$server = "localhost"; //your server
$db_user = "root"; //your mysql database username
$db_pass = "password"; //your mysql database password if any
$database = "users"; //the db name
$timeoutseconds = 300;//timeoutseconds limit
//get the current time
$timestamp = time();
//calculate the lowest timestamp allowed
$timeout = $timestamp-$timeoutseconds;
?>

连接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文件如下。

//Put your basic server info here
$server = "localhost"; //normally localhost
$db_user = "root"; //your MySQL database username
$db_pass = "password"; //your MySQL database password
$database = "users";
$timeoutseconds = 300; //it will delete all people which haven't refreshed(so probbably are
// offline or inactive) in $timieoutseconds time (so it actually checks the people that are active in the last
// $timeoutseconds seconds)
//this is where PHP gets the time
$timestamp = time();
//counts the timeout, all people which have been seen last online in earlier than this timestamp, will get removed
$timeout = $timestamp-$timeoutseconds;
//connect to database
mysql_connect($server, $db_user);
//add the timestamp from the user to the online list
$insert = mysql_db_query($database, "INSERT INTO useronline VALUES
('$timestamp','".$_SERVER['REMOTE_ADDR']."','".$_SERVER['PHP_SELF']."')");
if(!($insert)) {
print "Useronline Insert Failed > ";
}
//delete the peoples which haven't been online/active in the last $timeoutseconds seconds.
$delete = mysql_db_query($database, "DELETE FROM useronline WHERE timestamp<$timeout");
if(!($delete)) {
print "Useronline Delete Failed > ";
}
//select the amount of people online, all uniques, which are online on THIS page
$result = mysql_db_query($database, "SELECT DISTINCT ip FROM useronline WHERE file='".$_SERVER['PHP_SELF']."' ");
if(!($result)) {
print "Useronline Select Error > ";
}
//Count the number of rows = the number of people online
$user = mysql_num_rows($result);
//spit out the results
mysql_close();
if($user == 1) {
print("1 user online\n");
} else {
print("$user users online\n");
}
?>





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.