Compteur de clics

WRInaute impliqué
Salut à tous,

Pour la V2 de mon annuaire, j'ai décidé d'ajouter un compteur de clics sortant vers les liens des fiches.

Je suis PHP Rank1 comme dirait l'autre, donc j'ai des progrès à faire.

J'ai donc d'un coté un fichier php avec une fonction dedans permettant d'incrémenter le nombre de clics qui se trouve dans une table de ma bdd, en fonction du site en question.

J'ai de l'autre coté une page qui appelle se script de la manière suivante (en javascript) :
Code:
<script type="text/javascript" language="JavaScript">
    function open_classement(url){
    window.open("http://www.example.com/monscript.php?url="+url);
</script>

<a href='http://www.lesite.com' target='_blank' onClick=open_classement('http://www.lesite.com')>"Le site"</a>"

Ben oui, les connaisseurs voient tout de suite que c'est laid et que ça ouvre une nouvelle fenetre (pardon, nouvel onglet devrait on dire) le temps du traitement du script.

Comment peut on faire pour appeler de script sans que ça l'ouvre dans une nouvelle fenetre?

J'utilise cette méthode pour garder bien évidemment les liens en dur dans l'annuaire. Il faut que ca reste ainsi.

Merci de votre aide.

VeeTouine
 
WRInaute accro
Code:
<a href="http://aaaaaaaaaaa.com" onclick="javascript:window.open('xxx_comptage_clic.php?url=http://aaaaaaa.com&amp;url_id=12345678'); return false;" title="Visit the site">

Tout simplement

et dans comptage_clic ben tu faits +1 la ou ca va bien ....

edit : oups j 'ai lu trop vite pour le nouvelle fenetre ... Par contre, perso je prefere ouvrir les liens externe dans une nouvelle fenetre ... comme ca mon site reste dans le coin ... sinon le visiteur est perdu.
 
WRInaute impliqué
Si tu tiens à ne pas modifie l'attribut "href", il faut effectuer une requête XmlThhpRequest.
Quand la requête est terminé, tu charges le lien avec "window.location.href = this.href;"

Pour en savoir plus sur XmlHttpRequest.


Édit :
Effectivement, la solution de Zecat est bonne aussi.
Par contre, pour ne pas ouvrir une nouvelle fenêtre, j'aurai fais ceci :
Code:
<a href="http://aaaaaaaaaaa.com" onclick="this.href='xxx_comptage_clic.php?url=http://aaaaaaa.com&amp;url_id=12345678'" title="Visit the site">
 
WRInaute impliqué
Merci pour vos réponses. Compliqué pour moi le XmlhttpRequest, va falloir que je regarde à tête reposée, mais cela semble etre la solution :D

En fait, oui je veux que le lien sortant soit ouvert dans une nouvelle fenetre.

Ce que je ne veux pas, c'est que le comptage_clic.php, lui ne soit pas ouvert du tout pour que le comptage soit totalement transparent pour l'utilisateur...
 
WRInaute accro
alors utilise mon code il marche impec ... et dans comptage clic tu ne fais que du php de mise a jour du +1 ... puis header vers l apage cible ...
 
WRInaute impliqué
En fait Zecat, je ne vois pas la différence entre ton code et le mien, mis à part le return false que tu as en plus :oops:

Le windows.open t'ouvre forcément une fenêtre non? Meme si elle ne s'ouvre qu'une seconde le temps d'executer le script php qu'elle contient.

'fin je dis ptet une bétise hein

Merci :wink:
 
WRInaute accro
mon script compatge_clic commence par :

$urlrefresh=$_GET['url'];

.
.
.
ici ce qu eje dois compter
.
.
.

et se termine par :

// ----- on affiche la page demandée

header ("Location:".$urlrefresh);
exit();


voila

C'ets donc totalement transparent.

1 - Je compte ce que j'ai a compter
2 - je met a jour la bdd
3 - je fais mon header

qui s'affiche dans la nouvelle fenetre.simple non.

Voila te reste plus qu'a enrouler du cable :wink:
 
WRInaute accro
VeeTouine a dit:
Le windows.open t'ouvre forcément une fenêtre non? Meme si elle ne s'ouvre qu'une seconde le temps d'executer le script php qu'elle contient.
Bien sur que ca ouvre une fenetre ... celle qui affiche la page cible demandée ... et simplement juste avant de l'afficher (le header) tu fais ton comptage en douce :wink:
 
WRInaute accro
Blount a dit:
Effectivement, la solution de Zecat est bonne aussi.
Par contre, pour ne pas ouvrir une nouvelle fenêtre, j'aurai fais ceci :
Code:
<a href="http://aaaaaaaaaaa.com" onclick="this.href='xxx_comptage_clic.php?url=http://aaaaaaa.com&amp;url_id=12345678'" title="Visit the site">
Mais si il veut ouvrir une nouvelle fenêtre :mrgreen: C'était pas clair dans son explication :wink:
 
WRInaute impliqué
oui oui c'est bon ca va j'etais pas clair :lol: :mrgreen:

Merci à vous, j'ai compris l'idée et je vais pouvoir bricoler maintenant :wink:
 
Discussions similaires
Haut