做微信刮刮卡活动,有个用户刮奖次数的限制,昨天一切正常,所以就修改了一些东西,今天再打开的时候刮奖次数第一次是1,第二次是3,第三次是5。感觉就是页面刷新了两遍。
检查前后台代码。发现一些bug就顺手修改了,事实上不是造成这个问题的真正原因。
没办法,自己写了个一个计数器,计算訪问当前页面的次数。发如今微信里面从1直接跳到3。然后跳到5。其它pc浏览器一点问题木有。从后台代码。检查到前台html,断点似的,就是先清空php代码,測试html显示时是否跳过。然后在清空html代码,測试执行后台代码时,是否跳过。最后检測出。
。
。。<link
href="" rel="stylesheet" type="text/css">。没错是由于我写了一个link可是没给href复制。导致反复刷新的。。
附:php计数器代码:
<?php
class Counter{
//$five,$four 等变量表示零的个数,放在数字前边构成6位
public function counterFunction()
{ //定义函数
$five = "00000"; //声明变量
$four = "0000";
$three = "000";
$two = "00";
$one = "0";
$counter = "C:/error/record.dat"; //存放訪问数的目的文件。.dat格式
if(!file_exists($counter)) //推断文件是否存在(文件不存在)
{
$counter = fopen($counter,"w");
fputs($counter,"0"); //写入文件
fclose($counter);
}
else
{
$fp = fopen($counter,"r+");
$num = fgets($fp,"1024"); //假设文件存在则读出文件。并加 1
$num = $num + 1;
if($num < 10)
print "$five"."$num";
elseif($num < 100)
print "$four"."$num";
elseif($num < 1000)
print "$three"."$num";
elseif($num < 10000)
print "$two"."$num";
elseif($num < 100000)
print "$one"."$num";
else
print "$num";
}
$fp = fopen($counter,"w");
fputs($fp,"$num");
fclose($fp);
}
}
?>