2016-08-03 2 views
1

私は、特定のリンクのクリック数を追跡するphpのトラッキングウェブサイトを作っています。リンク上のクリック数をトラッキングする -

ユーザーが自分のWebサイトから提供されたリンクをクリックすると、ユーザーは自分のWebサイトにアクセスし、そのIPアドレスを記録した後、クリックされたリンクユーザーにマップされた別のアドレスにユーザーをリダイレクトします。 ipを検証した後、カウンタはクリック数をインクリメントします。

私が直面している問題は、自分のウェブサイトのクリック数とFacebookの結果のクリック数を比較すると、私の結果は何倍も多いことです。私はその原因が何であるか分かりません。

マイ結果:

enter image description here

Facebookの結果:

enter image description here

enter image description here

私の質問は、なぜ差があるということでしょうか? Facebookにいくつかの追加チェックがある場合、誰かが自分のことを知っていますか?または彼らはプライベートですか?またはFacebookはクリック数を減らすだけですか?

本当にありがとうございます。私はここで立ち往生している。どちらの

<?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を繰り返して、信頼されていないIPアドレスを... )またはそれ以上の単純なfacebookはそのプラットホームからのクリックだけを見るが、あなたのスクリプトはどこからでもすべてのクリックを受け取る。

もちろん、スクリプト自体に問題があるかもしれませんが、あなたがそれを表示しないので、私はそれに対処できません。

+0

質問を編集してスクリプトを表示することはできますか?返信のためのthnx: – hamza

+0

@ハムサあなたの質問に追加することができますし、誰かがあなたの改善に役立つ何かを見つけるかもしれません。 – BeetleJuice

+0

私は確かに... thnx ....... – hamza

関連する問題