得到本页最后浏览者的IP(viewer_ip),记录在数据库中.
当有下一个浏览者时,如果获得的IP与数据库中的相同,计数器(counter)不加,数据库中IP不变.
相反,如果获得的IP与数据库中的不同,计数器(counter)加1,数据库中IP替换为当前浏览者IP.
通过这种方法可以防止同一IP不同刷新!
当有下一个浏览者时,如果获得的IP与数据库中的相同,计数器(counter)不加,数据库中IP不变.
相反,如果获得的IP与数据库中的不同,计数器(counter)加1,数据库中IP替换为当前浏览者IP.
通过这种方法可以防止同一IP不同刷新!
解决方案 »
- Column 'languageid' in where clause is ambiguous错误
- 几个MYSQL查询,不知道对不对,
- [b]bold [b]bddd[/b] [/b]如何用正则匹配
- 邮件问题
- 请教:对页面的链接搜索,如根据index.php中的链接,对该文件中指向到自身的,或如上一页、下一页的循环链接,该怎么处理?
- php下拉列表的实现
- 一个有点难度的函数问题
- SOS:www.oso.com.cn不做了(在我申请了空间后不到三小时),气死我了!急急!!!!
- 判断是否数字型的JavaScript函数是什么?
- asp那边都没人在活动吗 希望这懂asp的帮我看下问题
- 有关mail( )函数
- 请教MYPHP 的CHAR字段
里没有,就只让增长一次,但是实际上运行时却不管库中有否记录,计数器均
增长,我是个刚学PHP的菜niao,怎么也看不出哪的问题,请哪位麻烦指点一下?
<?php
$counterFile ="counter/counter.txt";//记录访问人数的文本文件;
$link=mysql_connect("localhost","root","xin*123");
mysql_select_db("tracker",$link);
$show="select user_ip from detail";
$ip=mysql_query($show,$link);
list($user_ip)=mysql_fetch_array($ip);
function displayCounter($counterFile)
{
$fp = fopen($counterFile,"rw");
$num = fgets($fp,69);
$num += 1;
$strnum=strval($num);//chang to string
$strnum=chop($strnum);//delete space
$numlen=strlen($strnum);
for($i=1;$i<=$numlen;$i++)
{
$numm[$i]=substr("$strnum",$i-1,1);
echo "<img src=counter/".$numm[$i].".jpg border=0>";//显示数字图片
}
exec( "rm -rf $counterFile");
exec( "echo $num > $counterFile");
if (!file_exists($counterFile))
{
exec( "echo 0 > $counterFile");
}
}
$var=0;
for($i=1;$i<=mysql_num_rows($ip);$i++)
{
if ($REMOTE_ADDR==$user_ip)
{
global $var;
$var++;
}
}
if($var>0)
{ $fp = fopen($counterFile,"r");
$num = fgets($fp,69);
$num += 1;
$strnum=strval($num);//chang to string
$strnum=chop($strnum);//delete space
$numlen=strlen($strnum);
for($i=1;$i<=$numlen;$i++)
{
$numm[$i]=substr("$strnum",$i-1,1);
echo "<img src=counter/".$numm[$i].".jpg border=0>";
}
}
else {
displayCounter($counterFile);
}
php?>
$counterFile ="counter/counter.txt";//记录访问人数的文本文件;
$link=mysql_connect("localhost","root","xin*123");
mysql_select_db("tracker",$link);
$show="select user_ip from detail";
$ip=mysql_query($show,$link);
list($user_ip)=mysql_fetch_array($ip);
function displayCounter($counterFile)
{
$fp = fopen($counterFile,"rw");
$num = fgets($fp,69);
$num += 1;
$strnum=strval($num);//chang to string
$strnum=chop($strnum);//delete space
$numlen=strlen($strnum);
for($i=1;$i<=$numlen;$i++)
{
$numm[$i]=substr("$strnum",$i-1,1);
echo "<img src=counter/".$numm[$i].".jpg border=0>";//显示数字图片
}
exec( "rm -rf $counterFile");
exec( "echo $num > $counterFile");
if (!file_exists($counterFile))
{
exec( "echo 0 > $counterFile");
}
}
$var=0;
for($i=1;$i<=mysql_num_rows($ip);$i++)
{
if ($REMOTE_ADDR==$user_ip)
{
global $var;
$var++;
}
}
if($var>0)
{ $fp = fopen($counterFile,"r");
$num = fgets($fp,69);
//$num += 1;
//将上一行删除,此行是根据$var>0,则库中已有此IP,则$num不应再计数
$strnum=strval($num);//chang to string
$strnum=chop($strnum);//delete space
$numlen=strlen($strnum);
for($i=1;$i<=$numlen;$i++)
{
$numm[$i]=substr("$strnum",$i-1,1);
echo "<img src=counter/".$numm[$i].".jpg border=0>";
}
}
else {
displayCounter($counterFile);
}
php?>
for($i=1;$i<=mysql_num_rows($ip);$i++)
{
if ($REMOTE_ADDR==$user_ip)
{
global $var;
$var++;
**********************
此处
if ($REMOTE_ADDR==$user_ip)
改为 if ($REMOTE_ADDR==$user_ip[$i])