跟踪链接上的点击次数 - php

时间:2016-08-03 13:48:44

标签: php facebook affiliate

我在php中创建了一个跟踪网站,用于跟踪特定链接的点击次数 - 用于联盟链接跟踪。我在做的是:

当用户点击我网站提供的链接时,他会访问我的网站,在记录其IP地址后,将用户重定向到另一个映射到用户点击链接的地址。验证ip后,计数器会增加点击次数。

我面临的问题是,当我比较我的网站和facebook结果的点击次数时,我的结果是很多倍。我不知道是什么原因造成的。

我的结果:

enter image description here

Facebook结果:

enter image description here

enter image description here

我的问题是为什么会有区别?如果facebook有一些额外的检查,有人知道它们是什么吗?或者他们是私人的?或Facebook只是减少了点击次数?

非常感谢帮助。我被困在这里。

以下是检查访问者IP并增加点击计数器的代码:

<?php 
require_once "dbdata.php";  

if(isset($_GET['linkid']) && !empty($_GET['linkid'])){


$id =  $_GET['linkid'];          //getting link id to fetch data from database
$ip = $_SERVER['REMOTE_ADDR'];   // getting visitors ip address

//database connection
@$db = new mysqli(hostname,username,password,dbname) or die(json_encode(array("status"=>"Can not connect  (Database Connection Error)")));


  //getting data from table
  $query = "select * from links_shared where id = $id ;";
  $result_link = $db -> query($query) or die(json_encode(array("status"=>"Error Fetching previous income data")));
  $row_link = $result_link-> fetch_assoc();

  $link = $row_link['orignal']; //the link to be redirect the user to

  header("Location:".$link); //redirected

  if($row_link['status'] == "live"){   //status of link should be live


    $array_ip = explode(",", $row_link['ip']); //comma sepearted string of ips to array

    if(!in_array($ip, $array_ip)){   //check if ip is not already present

        $query = "select * from links_deleted where url = '$link' ;";   //getting block list
        $result_del = $db -> query($query) or die(json_encode(array("status"=>"Can not select deleted")));

        if($result_del -> num_rows <1){  //check if link  not in block list

            $concat = ",".$ip; 
            echo $query = "update links_shared set clicks = (clicks + 1), ip = concat(ip,'$concat') where id= $id; ";
            $result_update = $db -> query($query) or die(json_encode(array("status"=>"can not update clicks")));
        }   

    }

  }

}
?>

1 个答案:

答案 0 :(得分:2)

Facebook可能会使您的脚本接受的点击无效(例如:不受信任的IP,重复的IP,自动机器人检测......)或更简单的Facebook只能看到来自其平台的点击,但您的脚本会收到来自所有地方的所有点击。

当然,您的脚本本身也可能存在问题,但由于您没有显示它,我无法解决这个问题。