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

PHP
PHP教程:插件机制在PHP中实现方案
PHP开源网站程序如何使用的更好
PHP和mysql+jqueyr建立类twitter站点
PHP服务端代理页面开发
PHP理论教程:如何才能自动获取关键词
PHP教程:imagefilledrectangle函数生成渐变图片
PHP教程:配置smarty开发环境
PHP扩展curl和正则表达式轻松采集新闻
PHP4,PHP5,ASP.NET开发优劣比较
PHP教程:PHP随机显示目录下图片的源码
HTTP Headers简明易懂的教程
PHP导入和导出Excel文件
PHP 5.3 的重要特性:命名空间
PHP教程:GD库的imagecolorset函数简单修改图片颜色
PHP5教程:PHP的GD模块生成条形码
PHP网站程序乱码问题解决方法
PHP教程:php内置函数intval()
PHP大量Session的散列及过期回收
实现基本QQ功能的PHP类:QQ机器人
PHP+MYSQL网站SQL Injection攻防

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 136 ::
收藏到网摘: 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>