计数器代码php
① php计数器
你的html头是utf-8的
所以可能是你的这个php不是utf-8编码的问题吧,
我这能出来。
② 如何做一个网站访问计数器,用php程序
创建一个数据库表
表名:table_counter
字段:number int(10)
1.显示统计数据
$sql = "SELECT * FROM table_counter";
2.每次刷新页面 执行sql
$sql = "UPDATE table_counter SET number= number+ 1";
如果要做的精确一点
在加一个表
table_visit
字段:ip
1更次刷新取得游客$ip;
2.取得$ip后.查询 table_vist .
如果存在则不更新table_counter.
如果不存在,则更新table_vist ,更新语句同上.并把$ip插入table_visit
如果还需要做的更人性化一点.设置一个时间间隔,比如说10分钟.$diff = 600;
在table_visit再加上一个字段
datetime :int(10)(时间戳).记录游客访问时间.
1更次刷新取得游客$ip 和 时间$date = time();
2.查询 table_vist .
$sql = "SELECT * FROM table_vist WHERE ip = '$ip'";
3.如果不存在.则把$ip和$date插入表table_vist.
$sql = "INSERT INTO table_vist SET ip = '$ip',timedate=$date";
并更新table_counter;
4.如果存在,则判断该条查询结果的timedate 和 现在时间$date,的差值.和 $diff比较
少于则不做任何操作.
大于则更新table_vist 。$sql = "UPDATE table_vist SET timedate = $date WHERE ip = '$ip'";
并更新table_visit;
③ 求大神帮补充完善php网页访客计数器用图片显示的代码。在线等。
给你个验证码图片的,你参考,把内容替换了;
<?php
session_start();
//如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格
//先成生背景,再把生成的验证码放上去
$img_height=47;//先定义图片的长、宽
$img_width=21;
$authnum='';
//生产验证码字符
$ychar="0,1,2,3,4,5,6,7,8,9";
$list=explode(",",$ychar);
for($i=0;$i<4;$i++){
$randnum=rand(0,9);
$authnum.=$list[$randnum];
}
//把验证码字符保存到session
$_SESSION["vcode"] = $authnum;
$aimg = imagecreate($img_height,$img_width); //生成图片
imagecolorallocate($aimg, 255,255,255); //图片底色,ImageColorAllocate第1次定义颜色PHP就认为是底色了
$black = imagecolorallocate($aimg, 0,0,0); //定义需要的黑色
for ($i=1; $i<=100; $i++) {
imagestring($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"@",imagecolorallocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
}
//为了区别于背景,这里的颜色不超过200,上面的不小于200
for ($i=0;$i<strlen($authnum);$i++){
imagestring($aimg, 5,($i+1)*8,4, $authnum[$i],imagecolorallocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));
}
imagerectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//画一个矩形
header("Content-type: image/PNG");
imagepng($aimg); //生成png格式
imagedestroy($aimg);
?>
④ 静态首页想加个简单php计数器(空间是php的),代码应该放在那里啊单独做个php计数器,首页上怎么引用
一个简单计数器的源代码
<?
$memo_file="phpcount/vst.txt";
if ($phpxcount<>$REMOTE_ADDR){
$visits = file($memo_file);
$number_of_last_visit = $visits[0];
$number_of_new_visit = ++$number_of_last_visit;
$fp = fopen($memo_file, "w");
$fw = fwrite($fp, $number_of_new_visit);
fclose($fp);
$len_str = strlen($number_of_new_visit);
for($i=(0);$i<$len_str;$i++){
$numbers_exploded = substr($number_of_new_visit,$i,1);
$output_str = $output_str . "<img src="$numbers_exploded.gif">";
}
}else{
$visits = file($memo_file);
$number_of_last_visit = $visits[0];
$number_of_new_visit = $number_of_last_visit;
$fp = fopen($memo_file, "w");
$fw = fwrite($fp, $number_of_new_visit);
fclose($fp);
$len_str = strlen($number_of_new_visit);
for($i=(0);$i<$len_str;$i++){
$numbers_exploded = substr($number_of_new_visit,$i,1);
$output_str = $output_str . "<img src="$numbers_exploded.gif">";
}
}
echo $output_str;
?>
⑤ php计数器
o(╯□╰)o
1、把第14行的result前加$即$result
2、第22行的else 的函数体应该
else{
$sql = "SELECT COUNT( * ) FROM `counter` WHERE new='1'";
$result=mysql_db_query( $mysql_database, $sql,$conn );
$row=mysql_fetch_row($result);
mysql_free_result($result);
} 吧?
⑥ 求救!!!php写的计数器,在主页包涵的时候,多了个1
<?php echo include"jishu.php"; ?>
each 去掉,另外给你升华下,看看这个按照小时计算的记数器.你能学到很多对数据库的操作,和数组\函数等基本技术.努力!!
point.php
require_once("fun.php"); //包含数据库连接和函数
/*****************************新建部分*****************************/
//检查今天是否建立了数据
$query_d = "select * from i_visit where i_date = '$d'";
$result_d = @mysql_query( $query_d , $link_p )or die("Query Error!");
//如果没有-------建立
if(!mysql_num_rows($result_d))
{
$i_time=cout_time();
$i_point=cout_point();
$query_in="insert into i_visit ( i_point , i_date , i_time )
values ( '$i_point' , '$d' , '$i_time' )";
@mysql_query( $query_in , $link_p ) or die("Insert error");
//echo "创建成功<br>";
}
/*****************************更新部分*****************************/
else
{
$i_data = mysql_fetch_array($result_d);
$i_p = last_p($i_data["i_point"])+1 ; //最后点数
$i_h = last_p($i_data["i_time"]) ; //最后时间
//如果最后一个时间不是现在时间
if($i_h != $h)
{
$i_time = cout_time();
$i_point = cout_point($i_data["i_point"],$i_h);
$query_in="update i_visit set i_point= '$i_point' , i_time= '$i_time' where i_date='$d'";
@mysql_query( $query_in , $link_p ) or die("Update error");
//echo "修改成功";
}
//如果是最后一个时间
else
{
$i_point=cout_point($i_data["i_point"],$i_h);
$query_in="update i_visit set i_point= '$i_point' where i_date='$d'";
@mysql_query( $query_in , $link_p ) or die("Update error");
//echo "当前数字是$i_p<br>"; /*****************时刻准备关闭的*/
}
}
/*****************************统计部分:*****************************/
$date_s=$d;$date_e=$d; //统计日期
$query ="select * from i_visit where i_date >= '$date_s' and i_date <= '$date_e' order by i_date";
$result=@mysql_query( $query , $link_p ) or die("search error");
$s_num=mysql_num_rows($result);
//日统计
if( $s_num == 1 )
{
$s_row=mysql_fetch_array($result);
$s_array = explode( "," , $s_row["i_point"] );
$s_avp=24;
$s_sum=array_sum($s_array);
}
//如果是多天
elseif( $s_num > 1 )
{
$s_array=array();$i=0;$s_sum=0;
while ( $s_row=mysql_fetch_array($result) )
{
$temp = explode(",",$s_row["i_point"]);
$s_array[$i] = array_sum($temp);
$s_sum+=$s_array[$i]; //计算总和
$s_array[$i+1] = $s_row["i_date"]; //基数为日期,偶数为数据;
$i+=2;
}
$s_avp=count_days($date_e,$date_s);
}
else
{
echo "没有数据";
flush();
}
$s=implode(",",$s_array);
$s_sum=$s_sum; //总和
$s_max=max($s_array); //最大数
$s_count=count($s_array); //总数
$s_avp=round($s_sum/$s_avp); //平均数
@mysql_close($link_p);
?>
fun.php
<?php
date_default_timezone_set ('Asia/Shanghai');
$d=date("Y-m-d");
$h=date("G");
$link_p=@mysql_connect("localhost","root","00000000")or die("Connect Error");
$select=@mysql_select_db("hit",$link_p) or die ("Select Error");
//时间输出
function cout_time()
{
global $h;
$temp="";
for( $i = 0 ; $i < $h ; $i++)
{
$temp .="$i,";
}
$temp.=$h;
return $temp;
}
//点数输出
function cout_point($x=0,$y=0) //x为要添加的字串,Y为最后时间,Z为更改数
{
global $h;
while($h-$y)
{
$y++;
$x .=",0";
}
$temp=strrpos($x , ",")?strrpos($x , ",")+1:0;
return substr( $x ,0, $temp). (substr($x,$temp)+1);
}
//最后时间
function last_p($x)
{
return substr( $x , strrpos($x , ",")+1 ) ;
}
?>
你可以研究下cout_point函数,如何用explode implode把它写出来
⑦ php计数器代码数字超过十几位就显示结果为1.2345678912346E+25,怎么才能全部显示出来
创建一个数据库表
表名:table_counter
字段:number int(10)
1.显示统计数据
$sql = "SELECT * FROM table_counter";
2.每次刷新页面 执行sql
$sql = "UPDATE table_counter SET number= number+ 1";
如果要做的精确一点
在加一个表
table_visit
字段:ip
1更次刷新取得游客$ip;
2.取得$ip后.查询 table_vist .
如果存在则不更新table_counter.
如果不存在,则更新table_vist ,更新语句同上.并把$ip插入table_visit
如果还需要做的更人性化一点.设置一个时间间隔,比如说10分钟.$diff = 600;
在table_visit再加上一个字段
datetime :int(10)(时间戳).记录游客访问时间.
1更次刷新取得游客$ip 和 时间$date = time();
2.查询 table_vist .
$sql = "SELECT * FROM table_vist WHERE ip = '$ip'";
3.如果不存在.则把$ip和$date插入表table_vist.
$sql = "INSERT INTO table_vist SET ip = '$ip',timedate=$date";
并更新table_counter;
4.如果存在,则判断该条查询结果的timedate 和 现在时间$date,的差值.和 $diff比较
少于则不做任何操作.
大于则更新table_vist 。$sql = "UPDATE table_vist SET timedate = $date WHERE ip = '$ip'";
并更新table_visit;
⑧ 求php编写的网页计数器代码(用cookie防止重复刷新计数)
<?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime<=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位访客。您下次访问计入统计的时间是:".date("Y-n-j H:i:s",$acctime)."。";
?>
⑨ 请问下如何在thinkphp中实现一个计数器我用php写了一个计数器的代码和一个保存数字的txt
$num = file_get_contents('counter.txt');
$num ++;
file_put_contents('counter.txt', $num);