Modification d'un PhpMyAnnuaire pour avoir des liens en dur

Pouzy

WRInaute passionné
Bonjour à tous ;)

Je recherche la méthode pour modifier PhpMyAnnuaire pour pouvoir avoir des liens en dur, au risque de ne plus compter les hits :)

Je préfère donner un pagerank a mes membres que leur donner une classement interne ..
Bref, je ne suis pas over bien calé en Php, donc j'ai besoin qu'on me guide, si possible ...

Une petite recherche sur le site ne m'a rien donné :/

Merci à tous :)
 

XenonDelee

WRInaute impliqué
J'ai crée une version de phpmyanu avec des liens en dur dans le temps ... si je remets la main dessus je te l'envoies :lol: ... le problème c'est que je sais pas ou je l'ai mise :cry:

enfin sinon, c'est pas trop compliqué à faire et si j'ai un peu de temps je remettrai bien la main à la pâte ...

A+
 

XenonDelee

WRInaute impliqué
Bon je suis sur le truc ...

pour la modif de l'url c'est déjà fait ... seul problème ... ça ne comptabilise plus le nombre de visites ...

Mais là je suis un peu clamsé, je te donne tout ça demain dans la journée ...

A+
 

ludoooo

Nouveau WRInaute
Hello,

Très intérréssant tout ca !!!

A vrais dire je suis aussi très intéréssé par tes modifs sur phpmyannu, je recherche ca depuis pas mal de temps et en plus avec comptage des IN le top quoi ; )

Si tu peut m'envoyer ca aussi, ce serait très sympa de ta part.

Merci d'avance.

Ludo
 

XenonDelee

WRInaute impliqué
Bon j'ai taffé :!:

et j'ai réussi à produire une solution complète ( avec comptage des clics ) :p

Mais j'ai un petit bug ... dans l'admin :cry: :cry:

Dès que j'ai réglé ça je vous donne la solution :roll:

A+
 

niceunef

WRInaute passionné
Par contre, je remarque que selon les explications, le clic provoquerait l'ouverture d'une nouvelle fenetre et la fermeture de l'ancienne? 8O
Pourquoi ne pas simplement ne pas ouvrir dans la meme fenetre? pourquoi un popup pour compter?
Ou alors j'ai mal compris, mais c'est ce que les explications laissent entendre...
 

XenonDelee

WRInaute impliqué
Le problème vient du fait que si tu veux que les clics soient comptés, il faut appeler le script qui est dans goto.php ...

Mais si tu fait un lien vers goto.php?id=34 ( par exemple ) tu ne fais pas un lien en dur vers le site qui est présent sur ton annuaire :(

Et si tu fais un lien direct vers le site, ( sans ouvrir d'une manière ou d'une autre goto.php ) tu ne comptabilise plus les clics :cry:

Donc voilà pourquoi j'utilise cette astuce

CEPENDANT :

Je viens de remarquer un défaut à mon système ... si tu as installé un popup Killer, ça bloque la navigation :cry:

Donc ce n'est pas encore la solution parfaite :!:

Quelqu'un aurait-il une autre idée :?: :?: :?:
 

niceunef

WRInaute passionné
Tres juste pour les popup killers...
Autre solution: laisser le goto.php que tu appelles en javascript rediriger vers la page de destination (de toute facon, pour les moteurs, c'est le href qui compte, le javascript fait ce qu'il veut, meme conduire indirectement a la meme page, ce n'est pas ce qu'il y a de pire).

Pour compter les clics entrants, donner un lien normal et compter avec les referrers (lourd)?
:idea: Ou alors, meme principe: lien en dur vers le site avec appel du in.php dans un javascript. Du moment que tu files un code a copier/coller en expliquant que c'est utile de se faire compter (classement), c'est bon. Et un lien dur file plus (mieux) de PR que des in.php?num=... dont tous les numeros existants ne sont pas bien "compris" par les robots comme étant la meme chose (souvent, c'est "tous vers la page d'accueil").
 

Pouzy

WRInaute passionné
OUai, niceunef, je pense que c'est ce qu'il y a a faire :)

un grand merci XenonDelee , seul petit problème : ton site n'est pas accessible :mrgreen:
 

Pouzy

WRInaute passionné
Même moi j'ai l'impression d'avoir compris : IL dit qu'au lieu d'appeler goto.php et in.php via pop-up, pourquoi ne pas les appeler avec un OnClick ?

Sinon, pour ton site, il ne marche pas sous firefox ;) IE , ca fonctionne par contre :)
 

XenonDelee

WRInaute impliqué
Pouzy a dit:
Même moi j'ai l'impression d'avoir compris : IL dit qu'au lieu d'appeler goto.php et in.php via pop-up, pourquoi ne pas les appeler avec un OnClick ?

Sinon, pour ton site, il ne marche pas sous firefox ;) IE , ca fonctionne par contre :)

ben oui justement je les appellle via un onclick ! pop up = onclick ... window.open ( javascript ) ... right ?

pour firefox ... faut que je vois ça , je n'ai pas vérifié

A+
 

Pouzy

WRInaute passionné
XenonDelee a dit:
ben oui justement je les appellle via un onclick ! pop up = onclick ... window.open ( javascript ) ... right ?

Mwarf, pas possible de le faire sans pop-up ? :cry:

XenonDelee a dit:
pour firefox ... faut que je vois ça , je n'ai pas vérifié

J'te l'affirme :mrgreen: j'ai essayé deux fois :D

Merci pour tout, en tout cas :love:

( sinon, pour eviter ce problème de pop-ups, tu n'aurais pas un annuaire sans comptage de clic ? )
 

XenonDelee

WRInaute impliqué
J'ai pas trouvé d'autre solution :cry: :cry:

Mais si tu abandonnes l'idée de compter les click, ça devient très facile à faire :

juste à écrire dans functions.php

<a href="<?php echo $resultat["url"]; ?>" target="_blank" class="titre_site_annuaire" ><?php echo htmlspecialchars($resultat["titre"]); ?></a>

à la place de

<a href="goto.php?id=<?php echo $resultat["id"]; ?>" target="_blank" class="titre_site_annuaire"><?php echo htmlspecialchars($resultat["titre"]); ?></a>


et bien sûr supprimer les références au comptage de clics ...

Code:
?>
(<span class="nb_clics_site_annuaire">
<?php echo $resultat["nb_clics"];
if ($resultat["nb_clics"] <= 1)
{ ?> visite <?php }
else
{ ?> visites <?php }
?>
</span>
<span class="date_validation_site_annuaire">
<?php echo " depuis le ".convert_date_us2fr($resultat["date_validation"]); ?>
</span> )
	<?php

plus modifier le fichier haut.php :

supprimer
Code:
<a href="top_clics.php" class="top_link_annuaire">Top clics</a>


Si tu as besoin d'aide pour modifier ton fichier functions.php, tu peux me l'envoyer ...

A+ :lol:
 

XenonDelee

WRInaute impliqué
Eureka j'ai trouvé :lol: :lol: :lol:

Enfin avec un petit défaut quand même ; on perd le

Code:
target=_blank

c'est à dire que le site s'ouvre dans la fenêtre de l'annuaire ...

Mais je peux pas faire mieux :!:

Par contre je sais pas si ça marche avec firefox ????

Si vous voulez tester, c'est ici

A+
 
T

trinha

Guest
Salut,

Je n'y connais rien de rien, mais n'est t'il pas possible d'ajouter dans <head> le code :
<base target="_blank"> pour corriger le défaut :?: :?
 

XenonDelee

WRInaute impliqué
trinha a dit:
Salut,

Je n'y connais rien de rien, mais n'est t'il pas possible d'ajouter dans <head> le code :
<base target="_blank"> pour corriger le défaut :?: :?

Non justement il ne faut surtout pas mettre cela ... ça remet le bug :cry:

merci quand même pour l'idée :)

A+
 

XenonDelee

WRInaute impliqué
Hello Pouzy,

Apparement tu as un problème :mrgreen:

Je crois qu'il faudrait que tu crées un répertoire à part pour ton annuaire car quand on clique sur ta catégorie test on tombe sur l'url suivante

http://www.aidoforum.com/index.php?cat_id=1

qui est en fait la page d'acceuil de ton site et non de ton annuaire :!:

si tu fais un répertoire à part ( et que tu y mets le fichier index.php de myphpannuaire ) ça devrait marcher :lol:

A+
 

Pouzy

WRInaute passionné
XenonDelee a dit:
Hello Pouzy,

Apparement tu as un problème :mrgreen:

Je crois qu'il faudrait que tu crées un répertoire à part pour ton annuaire car quand on clique sur ta catégorie test on tombe sur l'url suivante

http://www.aidoforum.com/index.php?cat_id=1

qui est en fait la page d'acceuil de ton site et non de ton annuaire :!:

si tu fais un répertoire à part ( et que tu y mets le fichier index.php de myphpannuaire ) ça devrait marcher :lol:

A+

OUi, oui, l'annuaire fonctionne, il est dans le répertoire : http://www.aidoforum.com/annuaire/

Problème, le design ne s'intègre pas :eek: je suis obligé d'avoir une page à la racine de mon site pour pouvoir intégrer le design correctement ...

Iframe ? :cry:
 

Pouzy

WRInaute passionné
Madrileño a dit:
je vois pas des liens en dur mais des ID numérotées ...

Ca a été remis a jour pour les ID, j'essaye de faire l'annuaire de lien en durs ;) ( parce que pour les ID , les membres du partenariat ont préféré que leur nombre de clics soit affichés, plutôt que des liens durs :? )
 

Pouzy

WRInaute passionné
Arf, et c'est pas possible du tout un target="_blank" ? parce que sur l'iframe ... ca affiche le site dans l'iframe :cry:
 

Pouzy

WRInaute passionné
Recoucou

Je fais quoi pour remettre le target="_blank" au risque d'être bloqué par les anti pop-up ? OU alors autre chose, histoire que ca s'affiche pas a l'intérieur de l'iframe .. une astuce ;)
 

fpicaut

Nouveau WRInaute
Bonjour à toutes et à tous,

Je viens de suivre les instructions de rewritt de phpmyannu.com et ben ça marche qu'à moitié...
Mon hebergeur: ovh

MON HTACCESS:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^\index-([0-9]+)\.html$ \index.php?cat_id=$1
RewriteRule ^\index-([0-9]+)-([0-9]+)\.html$ \index.php?cat_id=$1&page=$2
RewriteRule ^\goto-([0-9]+)\.html$ \goto.php?id=$1


P.S: j'ai déja essayé de bidouiller mais bof....

Mon site: www.emploirama.com


Un grand merci pour votre aide.
 

herveG

WRInaute accro
XenonDelee a dit:
cool :p :lol: :lol:
Et dire qu'il n'y avait quasiment rien à faire de plus que par rapport au premier script ...
juste enlever target=_blank :!:

les explications sont toujours à la même adresse

Salut,

je souhaite adapter mon annuaire pour avoir les liens en durs. Les explications que tu nous fournies semblent super claires, mais ne s'appliquent pas si on a déja "rewritté" l'annuaire. si je prends la premiere modif en exemple :

Code:
a) dans le fichier : functions.php

- Trouver la fonction affiche_site() et modifier :

<a href="goto.php?id=<?php echo $resultat["id"]; ?>" target="_blank" class="titre_site_annuaire"><?php echo htmlspecialchars($resultat["titre"]); ?></a>

devient

<a href="<?php echo $resultat["url"]; ?>" class="titre_site_annuaire" onClick="window.open('goto.php?id=<?php print $resultat["id"];?>','fen')"><?php echo htmlspecialchars($resultat["titre"]); ?></a>

et que je compare à ma fonction rewrittée :

Code:
<a href="goto-<?php echo $resultat["id"]; ?>.html" target="_blank" class="titre_site_annuaire"><?php echo htmlspecialchars($resultat["titre"]); ?></a>

on s'apercoit qu on ne pas l'appliquer tel quel. question : est ce que ceci est la bonne solution ? :

Code:
<a href="<?php echo $resultat["url"]; ?>" class="titre_site_annuaire" onClick="window.open(goto-<?php echo $resultat["id"]; ?>','fen')"><?php echo htmlspecialchars($resultat["titre"]); ?></a>

Est-ce que cela implique d'autres modifs sur les autres fichiers ?
merci !
a+
Hervé
 

dec

Nouveau WRInaute
Pour ma part, j'ai remplacé par:
<a href="<?php echo $resultat["url"]; ?>" class="titre_site_annuaire" target="_blank"><?php echo htmlspecialchars($resultat["titre"]); ?></a>

et ça fonctionne très bien sans calculer les clics par contre.

@+
 

bjp

WRInaute occasionnel
Bon, je profite de la présence de spécialistes pour essayer de régler mon probleme de newbie avec cet annuaire.
L'install et le rewrite se passsent sans probleme.
Encore bravo à l'auteur de ce mode.

Par contre, je souhaite mettre mon annuaire sur deux colones.
J'ai fait quelques recherches et j'ai trouvé ça :

<table>
<tr>
<td width=70%>
blabhblab
</td>
<td width=30%>
blabhblab
</td>
</tr>
</table>

J'imagine que c'est dans le fichier index.php qu'il faut tenter de le mettre, mais je ne vois pas comment.

Merci de m'aider un peu.
 

nodom

WRInaute occasionnel
il existe mieux que ça. pas besoin de fenêtres.
mettez le lien original dans onclick et le lien en dure dans href...
 

Raulent

WRInaute discret
Re: Modification d'un PhpMyAnnuaire pour avoir des liens en

Raulent a dit:
Pouzy a dit:
Bonjour à tous ;)

Je recherche la méthode pour modifier PhpMyAnnuaire pour pouvoir avoir des liens en dur, au risque de ne plus compter les hits :)

Je préfère donner un pagerank a mes membres que leur donner une classement interne ..
Bref, je ne suis pas over bien calé en Php, donc j'ai besoin qu'on me guide, si possible ...

Une petite recherche sur le site ne m'a rien donné :/

Merci à tous :)

Après lecture de tout ces posts sur le sujet, je ne trouve pas un code satisfaisant. Alors voici le mien. Les initiés reconnaitront le code d'origine modifié de phpMyAnnu :

Code:
   <a href="<? echo $resultat["Url"]; ?>" target="_blank" class="Title" onClick="CountClick('FileCounter.php?VoteCount=<? echo $resultat["Id"]; ?>')" ><? echo htmlspecialchars($resultat["Title"]); ?></a>&nbsp;&nbsp;

Il s'agit donc d'une fonction CountClick() et du passage de deux paramètres : Le nom du fichier qui fait le comptage et l'identifant du site dans la table "Id".

Le code javascript de CountClick dont la fonction est de déclencher l'exécution du fichier FileCounter.php :

Code:
function CountClick(link)
{
document.getElementById('tmp').src=link; 
}

Cela ne peut fonctionner que par un lien src (on aurait pu remplacer par un iframe, mais je trouve cela moins intéressant). On inclut donc ce petit bout de code n'importe où dans le fichier où se trouve le lien à comptabiliser :

Code:
<img id="tmp" src="" width="1px" height="1px" style="visibility:hidden;border:0;padding:0;margin:0">

Et voici le code php/mySql de FileCounter.php

Code:
<?
Connexion;
$Id=htmlspecialchars($_GET[VoteCount]);//anti-injection
$sql="UPDATE sitelist SET nb_clics = nb_clics+1 WHERE Id = '$Id'";
$SendUpdate=mysql_query($sq);
?>

Je fais une version multilingue de phpMyAnnu. Si quelqu'un veut se joindre à mon réseau d'annuaire, il est bienvenu, tous les thèmes sont à pourvoir. L'idée c'est d'avoir une myriade d'annuaires indépendants et les plus spécialisés possibles. Tous les annuaires sont reliés entre eux via la hiérarchie des catégories. Un moteur de recherche central les fédéralise.

Mon constat initial avait été que les généralistes ne font que se copier les uns sur les autres et qu'aucun n'avait le moindre intérêt. http://directory.strada-mia.com (pour les curieux).

J'ai été outré en voyant le code de phpMyAnnu et de constater, qu'en fait, je faisais des liens vers des sites qui faisaient tout ce qu'ils pouvaient pour cacher mon site des robots d'indexation : Goto.php=> window.open ....

Je les ai tous effacés et je n'aurai de cesse de les dénoncer jusqu'à ce qu'ils soient réduits à un PR de 0.
 

Raulent

WRInaute discret
J'allais oublier la raison de ma visite. Je suis à la recherche du lien d'origine à inclure dans la notice de copyright de phpMyAnnu. Car la version que j'ai récupérée a visiblement été modifiée pour inclure le nom de domaine d'un total abruti que je refuse de lier à mon site.

Si vous connaissez l'auteur de l'oeuvre et le site d'origine, merci de me laisser l'info.
 

Discussions similaires

Haut