Hey, je cherchais un moyen simple de suivre les clics sur un lien et de stocker combien de fois le lien a été cliqué dans une base de données mysql. Quelqu'un a une approche solide sur la façon de faire cela?Cliquez sur counter php mysql?
Merci.
Hey, je cherchais un moyen simple de suivre les clics sur un lien et de stocker combien de fois le lien a été cliqué dans une base de données mysql. Quelqu'un a une approche solide sur la façon de faire cela?Cliquez sur counter php mysql?
Merci.
Oui. Vous avez le lien aller à un script redirecteur sur votre site, qui insère un enregistrement dans une table de suivi et redirige l'utilisateur vers l'emplacement du lien final.
Une des plus grandes choses que vous aurez besoin à considérer est l'échelle - selon le nombre d'utilisateurs que vous avez, vous pouvez faire quelque chose de simple comme:
INSERT INTO visit_track_table (id, count, url) VALUES (1, 0, 'page.php');
UPDATE visit_track_table SET count=count+1 WHERE url='page.php';
Le problème ici est que cette ligne doit être verrouillée pour chaque visiteur de la page.
Une meilleure approche consiste à définir une segmentation évolutive qui est recalculée périodiquement pour donner un total global. Le moyen le plus simple de le faire est de fournir un suffixe aléatoire afin que moins d'utilisateurs simultanés verrouillent la même ligne de base de données.
UPDATE visit_track_table SET count=count+1 WHERE url='page.php-N'
Dans cette requête le suffixe -N serait généré par un paramètre à l'écoute qui vont de « -0 » à « -100 » si vous voulez allouer 100 lignes par page. La valeur optimale de N dépend de votre base d'utilisateurs.
SELECT SUM(count) AS M FROM visit_track_table WHERE url LIKE 'page.php-%'
UPDATE visit_track_table SET count=M WHERE url='page.php'
EDIT: Oui, vous avez besoin d'avoir une page intermédiaire qui enregistre l'URL que vous dirigez à.
Vous pouvez utiliser ajax ou une page de rebond:
Bounce: Le lien vers l'avant à un script compteur comme, http://www.your-domain.com?click_count.php?forward=http://another-domain.com/destination.html
utilisant sql comme INSERT INTO clicks ('http://another-domain.com/destination.html',1) ON DUPLICATE KEY UPDATE clicks=clicks+1
Ajax: vous pouvez ajouter un événement javascript onclick pour envoyer un appel ajax, peut-être le même script de compteur de clic, puis renvoyer true pour suivre le lien.
méthode Ajax requires javascript évidemment qui pourrait ne pas être assez robuste pour vous dans ce cas, un script de rebond fera l'affaire et ce sera imperceptibles vraiment
J'aime l'idée d'utiliser un lien de rebond et d'améliorer progressivement à utiliser AJAX (et réécrivez le lien). C'est une préférence personnelle, mais je n'aime pas voir cette URL moche dans ma barre d'état (la transparence élimine ma lassitude d'hameçonnage et d'autre méchanceté). –
Oui c'est un bon cri, on pourrait appeler la méthode HiJax –