【问题标题】:mismatched counter value, Google shortener vs php visitor counter计数器值不匹配,Google 缩短器与 php 访客计数器
【发布时间】:2015-03-24 04:44:53
【问题描述】:

这是我想要实现的流程:

用户

  1. 点击共享链接(点击 Google 缩短链接)
  2. 重定向到计数器 (counter.php)
  3. 重定向到网页(网站页面)

我对来自 Google 缩短器的计数器值和我自己的计数器有疑问 - 值总是不同。我的计数器值总是比谷歌更短的值大,我自己的代码计数器有什么问题吗?

counter.php:

//redirect to ?
$destination = "page1";
$destination_mobile = "page2";
$destination_article = "page3";

//connection
$con = mysqli_connect('localhost','root','','db_omron');
if (!$con) {    
    die('Could not connect: ' . mysqli_error($con));
}

//source contents
$id = mysqli_real_escape_string($con, $_GET['id']);
//internal
if($id=='101010'){$source='Quiz';}
else if($id=='101011'){$source='Quiz mobile';}
else if($id=='101020'){$source='Event';}
else if($id=='101021'){$source='Event mobile';}
else if($id=='101031'){$source='SMS';}
else if($id=='101040'){$source='News';}
else if($id=='101041'){$source='News mobile';}
else if($id=='101050'){$source='Banner';}
else if($id=='999990'){$source='tester';}
else{$source='n/a';}

date_default_timezone_set('Asia/Jakarta');
$today = date("Y-m-d");

//1.get old data
$sql="SELECT * FROM `click_counter` WHERE `id_source` = $id ORDER BY `date` DESC";
$result = mysqli_query($con,$sql);

$row = mysqli_fetch_array($result);
$oldTotal=$row['total'];
$oldDate=$row['date'];

//2.check if today is in database
if($today==$oldDate){
    //update
        $newTotal = $oldTotal+1;
        $newSqlUpdate="UPDATE `click_counter` SET `total` = '$newTotal' WHERE `id_source` = $id AND `click_counter`.`date` = '$today'";
        $newResult = mysqli_query($con,$newSqlUpdate);
    }else{
    //insert
        $newSqlInsert="INSERT INTO `click_counter` (`date`, `id_source`, `source`, `total`) VALUES ('$today', '$id', '$source', '1')";  
        $newEntry = mysqli_query($con,$newSqlInsert);
    }

//close connection
mysqli_close($con);

//redirecting page 

$a = substr("$id" , -1);
if ( $a == "1" ){
    header("Location:".$destination_mobile); 
}else if(($id=='102120') || ($id=='102130')){
    header("Location:".$destination_article); 
}else{
    header("Location:".$destination);
}

exit();

【问题讨论】:

  • @adam-azad :感谢您编辑我的问题

标签: php google-api hitcounter


【解决方案1】:

我对 Google 缩短器和我自己的计数器的计数器值有疑问 - 值总是不同的。我的计数器值总是比谷歌更短的值大,我自己的代码计数器有什么问题吗?

Google Analytics 通过 JavaScript 进行跟踪,因此,大多数机器人和任何未启用 JS 的用户都不会被跟踪其数量。这几乎肯定是造成您的差异的原因。

【讨论】:

  • 谷歌分析和谷歌缩短器是一样的吗?两者都使用Javascript来计算用户点击吗?如果谷歌缩短器使用 javascript 来计算用户点击,这意味着我的 php 计数器被机器人访问,而不是真正的用户点击,所以它使我自己的计数器值大于谷歌缩短器值,这可能吗?..
  • @dian Google 的缩短器可能会将机器人排除在计数之外。他们也可能计算独特的而不是单个的命中。
  • 好的.. 我已经检查了我的服务器访问日志,这是真的,我的 php 计数器页面被一些机器人访问了,有什么方法/代码可以检测机器人,这样我就可以从我的计数器中排除机器人了吗? ..
猜你喜欢
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
相关资源
最近更新 更多