2016-08-03 5 views
1

Я сделал сайт отслеживания в php, который отслеживает количество кликов по определенной ссылке - для отслеживания партнерских ссылок. что я делаю:Отслеживание числа кликов по ссылке - 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"))); 
     } 

    } 

    } 

} 
?> 

ответ

2

Либо facebook является недействительностью щелчки, который принимает ваш скрипт (например: ненадежный IP-адрес, повторяющийся IP-адрес, автоматическое обнаружение бот ...) или более просто facebook видит только клики со своей платформы, но ваш скрипт получает все клики со всех сторон.

Конечно, также может возникнуть проблема с самим скриптом, но поскольку вы его не показываете, я не могу это решить.

+0

Могу ли я показать вам сценарий, отредактировав вопрос? thnx для ответа :) – hamza

+0

@hamza вы можете добавить его в свой вопрос, и кто-то может заметить что-то, что поможет вам его улучшить. – BeetleJuice

+0

Я точно буду ... thnx ....... – hamza

Смежные вопросы