J'ai fait un site Web de suivi en php qui suit le nombre de clics sur un lien spécifique - pour le suivi des liens d'affiliation. ce que je fais est:Suivi du nombre de clics sur un lien - php
Quand un utilisateur clique sur un lien fourni par mon site Web, il va à mon site Web qui après l'enregistrement de son adresse IP redirige l'utilisateur à une autre adresse mappée à l'utilisateur de lien cliqué. Un compteur incrémente le nombre de clics après la validation de l'adresse IP. Le problème auquel je suis confronté est que lorsque je compare le nombre de clics sur mon site et celui des résultats de facebook, mon résultat est plusieurs fois plus. Je ne sais pas quelle est la cause de cela.
résultats: Mes
résultats Facebook:
ma question est que pourquoi est-il une différence? Si Facebook a des contrôles supplémentaires, quelqu'un sait ce qu'ils sont? ou sont-ils privés? ou facebook réduit juste le nombre de clics?
L'aide serait vraiment appréciée. Je suis coincé ici.
Voici mon code pour vérifier les visiteurs ip et incrémenter le compteur clic:
<?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")));
}
}
}
}
?>
merci pour la réponse :) – hamza
@hamza vous pouvez l'ajouter à votre question et quelqu'un pourrait repérer quelque chose qui vous aide à l'améliorer. – BeetleJuice
Je vais sûrement ... thnx ....... – hamza