Problème lien en dur.

WRInaute discret
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 javascript:
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!
 
WRInaute occasionnel
Ca va pas t'aider ce que je vais te dire,

Mais j'ai mis sur phpcs.com une source qui permet ce genre de chose.

Deux problèmes :

Je ne sais pas si elle y est encore,
Je ne sais meme plus sous quel pseudo je l'avais postée.


Maxib.
 
WRInaute discret
Bonsoir,

Voici une idée un peu farfelue en utilisant vos éléments ; Mettre deux liens <a href="">, le premier avec une classe "display:hidden" avec le lien "en dur" et le second, affiché normalement mais utilisant la fonction js "onclick" ?

Normalement, Google n'exploitera que le premier lien tandis que l'internaute, utilisera le second et procèdera à l'itération de la DB avant d'être envoyé sur le site.

Je sais, c'est limite mais il se fait tard.

Bien à vous.
 
WRInaute discret
Merci pour vos réponses,

julio38, ton code vas me faire ouvrir 2 pages sur mon site... ce n'est pas bon. Je ne veux pas nécessairement ouvrir 2 liens avec un clic je veux avoir un lien, en dur, et que mon compteur (dans une base de donnée mysql) soit incrémenté de 1 sans plus ;]

srappaille, dommage l'idée était bonne, je viens d'essayer et je n'y suis pas parvenu...

quant à Maxib je vais aller voir ca de plus pret :)

Merci!

ps: 3*Messages: 63 (belle coincidence lol)
 
WRInaute discret
Bonjour,

De mon côté cela fonctionne pourtant.

Voici le code de ma proposition :

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Page de résultat</title>
</head>
	<style type="text/css">
	<!--
	body span { display:none; visibility: hidden }
	-->
	</style>
<body>

<!-- [boucle sql] -->

<span><a href="http://www.***.be">Titre du site</a></span>
<h2><a href="#" onclick="window.open('compteur_hits.php?id=4');">Titre du site</a></h2>
<p>Description</p>

<!-- [/boucle sql] -->
</body>
</html>

Bien à vous et bonnes recherches.

Serge
 
WRInaute discret
srappaille a dit:
Bonjour,

De mon côté cela fonctionne pourtant.

Voici le code de ma proposition :

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title>Page de résultat</title>
</head>
	<style type="text/css">
	<!--
	body span { display:none; visibility: hidden }
	-->
	</style>
<body>

<!-- [boucle sql] -->

<span><a href="http://www.***.be">Titre du site</a></span>
<h2><a href="#" onclick="window.open('compteur_hits.php?id=4');">Titre du site</a></h2>
<p>Description</p>

<!-- [/boucle sql] -->
</body>
</html>

Bien à vous et bonnes recherches.

Serge

Merci, en effet ca marche et j'aimerai savoir si google les prends en compte vraiment comme si cétais des liens en dur... car en gros ca ouvre en popup la page compteur_hits puis une redirection vers le site en question donc c'est un peu "tricher".

Google aimera ou pas ? :D
 
WRInaute discret
Bonjour,

Pour éviter d'ouvrir un popup, vous pouvez ajouter une précision ;

Code:
<a href="#" onclick="window.open('compteur_hits.php?id=4', '_self');">

Et pourquoi pas ajouter un attribut "name" pour le faire passer pour une ancre :

Code:
<a name="ancre01" href="#" onclick="window.open('compteur_hits.php?id=4', '_self');">

En ce qui concerne Google, je ne vois pas ce qui poserait problème. Il ne suivra pas le lien javascript. Et si cela vous ennuie, ajoutez "noindex" dans la page de comptabilisation. Pour lui, le seul lien important se trouve dans le SPAN.

Bien à vous,

Serge
 
WRInaute discret
Ok merci bien ta réponse!
De toute facon il faut que ca ouvre une popup, il ne faut pas que l'utilisateur sorte de mon site après avoir choisi un site :>

Merci!
 
Discussions similaires
Haut