Version complète: sur le forum Webmaster Hub : Problème clic en dur.
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Baron
Bonjour tous le monde,

Je suis entrain de développer un annuaire en php.
Je souhaite cependant afficher que les liens dans l'annuaire soit des liens en dur, mais que ces liens soient aussi comptés.

J'utilise donc ceci, qui sera le lien:
CODE
<?
echo "<a href=".$url." onclick=ouvre(".$id.") target=_blank title=".$titre.">".$titre."</a>";
?>


Avec une fonction en java script:
CODE
<script language="javascript">
function ouvre(id) {
self.document.location.href = 'compteur_hits.php?id='+id
}
</script>


Jusque la tout vas bien, sauf que la GOOGLE BAR n'accepte pas les document.href :s, en effet mon annuaire ne marche plus du tout.
Il existe bien d'autres idées:
CODE
<a href="www.test.com" onclick="document.location.href='compteur.php'; window.open(this.href,'_blank'); return false;" title="site">SITE WEB</a>

Seulement les pages sont inversée... et si j'inverse les url, ce n'est plus un lien en dur.

Je ne vois donc pas comment faire, surtout qu'il est impossible d'appeler une page php à partir du javascript, encore moins pour mettre une simple requete SQL.

Des idées ?

merci de vos réponses!
achtungbaby
et comme ça ?

CODE
<a href="www.test.com" onclick="javascript:window.open('compteur.php?id=$id','redirection','');return false;">

et dans compteur tu ajoutes l'ouverture du site.
WewEB
Me semble que tu peux aussi utiliser document.location directement.
Baron
En effet ca marcherai, mais ca vas ouvrir 2 popups, ce n'est pas mon but.

il me faut le <a href="www.test.com"></a>
mais il me faut aussi une solution pour compter le nombre de clic sur ce lien.

La seule solution serait le onclick=appelé une fonction en js mais la google bar me bloque avec un document.location.
Anonymus
Tu auras le meme problème à chaque fois que tu tenteras d'utiliser le javascript. Or, à part avec cette méthode, il n'est pas possible a priori, d'ouvrir 2 fenètres simultanément.
achtungbaby
La méthode que je donne fonctionne.
WewEB
A noter que le plus simple et le plus courant dans un annuaire est de créer une page se chargeant de la redirection et du décompte.

Ton lien deviendrait <a href="redirect.php?id={id}">Lien</a>

Et dans ta page redirect.php, tu te charges du compteur et de la redirection. Cela fait certes une étape de plus pour l'utilisateur, mais normalement quasi-transparente, et j'avoue que la méthode est plus souple (à supposer que tu aies envie de rajouter des choses par la suite, des stats sur les navigateurs...). De plus, elle ne nécessite pas l'utilisation du javascript (à éviter aussi souvent que possible à mon avis).

C'est juste une idée, tu as sûrement une bonne raison de préférer l'utilisation de javascript (auquel cas, merci de repréciser exactement ce que tu veux faire, ouvrir une nouvelle fenêtre ?)
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.