当前位置: 首页 > 图文教程 > 网络编程 > PHP > php计数器的设计与实现

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

PHP 中的 php计数器的设计与实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 290 ::
收藏到网摘: n/a

本程序有4个计数器。
index.php是一个普通的计数器可以看出总次数和哪个人来这个站点的次数,点几次加几次,不防水。
index1.php也是一个防水的计数器可以看出次数和哪个人来这个站点的次数,点几次加几次,防水,5秒加一次。
index2.php是一个防水的计数器可以看出总次数和哪个人来这个站点的次数,点几次加几次,防水,2秒加一次。
indexa.php是一个普通和防水和图形的计数器3合一的。可以看出总次数和哪个人来这个站点的次数,防水,有图形。

关键语句:
防水的:$sql = "SELECT COUNT(*) FROM `counter_1` WHERE user='$user' AND TIME_TO_SEC(NOW()-`time`) < 5 AND ip='$REMOTE_ADDR'";
图形计数器: for ( $i=0; $i< strlen($row[0]);$i++)
{
$digit= substr($row[0],$i,1);
$pic.="<img src=\"timex/$digit.gif\" width=\"15\" height=\"20\">";
}

<?
//------[ 基本设定 ]-------
$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "512783";
$mysql_database = "jishuqi";
//-------
//准备好你的sql
$sql = "INSERT INTO `counter_1` ( `user` , `ip` , `time` ) VALUES ('$user', '$ip', NOW( ) );";
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password);
mysql_select_db($mysql_database,$conn);
$result = mysql_query($sql);
//$id = mysql_insert_id();
mysql_close($conn);

//建立连接------通过(伺服器地址,使用者名称,使用者密码)
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

//准备好你的SQL语法
$sql = "SELECT COUNT(*) FROM `counter_1`";
//进行查询(或者叫做执行,选取)
$result=mysql_db_query( $mysql_database, $sql,$conn );
//将查询后的结果-->抓出一笔
$row1=mysql_fetch_row($result);

//印出该笔资料的所有栏位的阵列
//print_r($row1);
//清除查询结果
mysql_free_result($result);

//建立连接------通过(伺服器地址,使用者名称,使用者密码)
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

//准备好你的SQL语法
$sql = "SELECT COUNT(*) FROM `counter_1` WHERE user='$user'";
//进行查询(或者叫做执行,选取)
$result=mysql_db_query( $mysql_database, $sql,$conn );
//将查询后的结果-->抓出一笔
$row2=mysql_fetch_row($result);

//印出该笔资料的所有栏位的阵列
//print_r($row2);
//清除查询结果
mysql_free_result($result);
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>3种计数器</title>
<style type="text/css">
<!--
.style1 {
font-size: 24px;
color: #00FF99;
}
.style2 {color: #FF00FF}
.style3 {color: #CC0033}
.style4 {color: #0000FF}
.style5 {color: #FF0000}
.style6 {
font-size: 36px;
color: #996633;
}
-->
</style>
</head>

<body>
<div align="center" class="style1 style6">枫树林下
</div>
<div align="center">
<p class="style1"> </p>
<p class="style1"> </p>
<p class="style1"><span class="style3">总共有</span><?=$row1[0]; ?><span class="style5">人</span><span class="style4">来过</span><span class="style2">这个网站
</span></p>
<p class="style1"><span class="style3">总共有</span><?=$row2[0]; ?><span class="style5">人</span><span class="style4">来过</span><span class="style2"><?=$user?>网站
</span>
</p>
</div>
</body>
</html>

<?

//------[基本设定]-------
$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "512783";
$mysql_database = "jishuqi";
//-------

//建立连接------通过(伺服器地址,使用者名称,使用者密码)
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

//准备好你的SQL语法
$sql = "SELECT COUNT(*) FROM `counter_1`WHERE user= '$user' AND TIME_TO_SEC(NOW()-`time`) < 3 AND ip='$REMOTE_ADDR'";
//进行查询(或者叫做执行,选取)
$result=mysql_db_query( $mysql_database, $sql,$conn );
//将查询后的结果-->抓出一笔
$row=mysql_fetch_row($result);

//印出该笔资料的所有栏位[阵列]
//print_r($row);
//清除查询结果
mysql_free_result($result);
if($row[0]==0)
{
//--基本设定
//准备好你的sql
$sql = "INSERT INTO `counter_1` ( `user` , `ip` , `time` ) VALUES ('$user', '$REMOTE_ADDR', NOW( ) );";
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password);
mysql_select_db($mysql_database,$conn);
$result = mysql_query($sql);
$id = mysql_insert_id();
mysql_close($conn);
}

//建立连接------通过(伺服器地址,使用者名称,使用者密码)
$conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password );

//准备好你的SQL语法
$sql = "SELECT COUNT(*) FROM `counter_1` WHERE user='$user'";
//进行查询(或者叫做执行,选取)
$result=mysql_db_query( $mysql_database, $sql,$conn );
//将查询后的结果-->抓出一笔
$row=mysql_fetch_row($result);

//印出该笔资料的所有栏位的阵列
//print_r($row);
//清除查询结果
mysql_free_result($result);
for ( $i=0; $i< strlen($row[0]);$i++)
{
$digit= substr($row[0],$i,1);
$pic.="<img src=\"timex/$digit.gif\" width=\"15\" height=\"20\">";
}
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>3种计数器</title>
<style type="text/css">
<!--
.style1 {
font-size: 24px;
color: #00FF99;
}
.style2 {color: #FF00FF}
.style3 {color: #CC0033}
.style4 {color: #0000FF}
.style5 {color: #FF0000}
.style6 {
font-size: 36px;
color: #996633;
}
-->
</style>
</head>

<body>
<div align="center" class="style1 style6">枫树林下
</div>
<div align="center">
<p class="style1"> </p>
<p class="style1"> </p>
<p class="style1"><span class="style3">总共有</span><?=$row[0]; ?><span class="style5">人</span><span class="style4">来过</span><span class="style2">这个网站
</span></p>
<p class="style1"><span class="style3">总共有</span><?=$row[0]; ?><span class="style5">人</span><span class="style4">来过</span><span class="style2"><?=$user?>网站</span></p>
<p class="style1"><?=$pic?></p>
</div>
</body>
</html>