Page 1 sur 1
Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 07:11
par spespam
Salut,
J'ai fait un script sur categorizator pour afficher un lien au hasard. ça marche super sauf que ça ne comptabilise pas les clics vers le site.
Voici le portion de code :
Code : Tout sélectionner
// Affichage reponses
echo '<a href="' .$url_ale. '" title="' .$description_ale. ' "target="_blank">' .$titre_ale. '</a><br />';
echo "<img height='90' width='120' src=".$url_image_ale.">";
Edit Keroin : Ajout des balises
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 07:13
par Keroin
Il faut ajouter un onclick + id du site.
Je te donnerais le code complet d'ici ce soir dès que j'ai deux minutes
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 11:56
par spespam
Super ! t'es génial !
A ce soir alors.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 16:40
par Keroin
Alors ce code devrait fonctionner :
Code : Tout sélectionner
// Affichage reponses
echo '<a href="' .$url_ale. '" title="' .$description_ale. ' "target="_blank" onmousedown="return clk('.$idsite.')">' .$titre_ale. '</a><br />';
echo "<img height='90' width='120' src=".$url_image_ale.">";
Vérifie juste si "idsite" est correct car suis pas sûr ??? Il faudra peut être remplacer par "return clk('.$site.')"
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 17:54
par spespam
Je vais tester ça, je te fais un retour.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 18:33
par spespam
Non ce n'est pas ça.
J'ai remplacé par "return clk('.$site.')" mais ça ne marche pas, puis par "return clk('.$id.')" mais ça ne marche pas non plus.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 18:46
par Keroin
Ah Zut... Tu as quelle version de catégorizator exactement ?
De plus tu l'affiches où ce script et surtout, est ce que tu as déjà un compteur de clic installé (quand les internautes visites un des sites de ton annu) ?
Si il y en a déjà un, essaye de reprendre le même.
Donne moi tout le script (les appels à la bdd avant le echo aussi) pour voir un peu en détail.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 18:47
par spespam
categorizator dernière version avec le module rewriteyourphpannuaire.
Et quand les internautes cliquent, ça marche, ça incrémente d'une visite.
Le script, je l'affiche dans une page complètement externe à categorizator. Je ne sais pas comment faire pour que ça comptabilise les clics de là.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 18:58
par spespam
Code : Tout sélectionner
<?php
include("annuaire/data_bd_annuaire.php");
include("annuaire/functions.php");
$lk = connection_BD();
$sql2 = "SELECT titre, description, url, url_image FROM $T_sites ORDER BY RAND() LIMIT 1";
$ale = send_sql($sql2,"trouver 1 site aléatoirement");
mysql_close($lk);
echo '<br />';
while($result = mysql_fetch_array($ale))
{
$titre_ale = $result['titre'];
$description_ale = $result['description'];
$url_ale = $result['url'];
$url_image_ale = $result['url_image'];
if (strlen($titre_ale) > 18) { //nombre de caractères au bout desquels il faut couper
$titre_ale = substr($titre_ale,0,18); //nombre de caractères à laisser
$titre_ale .= "..."; //ce qu'il faut afficher au bout des caractères coupés
}
if ($result['url_image'] == '')
{
$url_image_ale = "annuaire/img/image_sites.gif";
} else {
$url_image_ale = $result['url_image'];
}
// Affichage reponses
echo '<a href="' .$url_ale. '" title="' .$description_ale. ' "target="_blank" onmousedown="return clk('.$site.')">' .$titre_ale. '</a><br />';
echo "<img height='90' width='120' src=".$url_image_ale.">";
}
?>
Et voilà
Edit Keroin : merci d'utiliser la balise
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:20
par Keroin
Ah ok c'est plus clair^^
Donc je vais te filer le script complet que j'utilisais auparavant :
Alors à l'endroit où tu veux que le script s'affiche tu fais un include :
A adapter avec l'emplacement exact du fichier
exemple :
Ensuite, à la racine de ton site sur le ftp, tu créés un fichier sitesaleatoires.php dans lequel tu places le code suivant :
Code : Tout sélectionner
<?php
$lk = connection_BD(); // Connection
// Recherche de 4 sites aléatoire
$sql2 = "SELECT id, titre, description, url, url_image FROM $T_sites ORDER BY RAND() LIMIT 4";
//envoie de la requete
$ale = send_sql($sql2,"trouver 4 sites aléatoirement");
// Les 4 sites aléatoires
while($result = mysql_fetch_array($ale))
{
$idsite_ale = $result['id'];
$titre_ale = $result['titre'];
$description_ale = $result['description'];
$url_ale = $result['url'];
$url_image_ale = $result['url_image'];
$url_du_site_rw_ale = id_to_url_page_site($result['id'],$result['titre']);
echo '<a href="' .$url_du_site_rw_ale. '" onmousedown="return clk('.$idsite_ale.')"><img src=".$url_image_ale." width="120" height="90" border="0" title="'.$titre_ale.'" alt="'.$titre_ale.'"></a><br/><br/> ';
}
?>
L'url rewriting que j'utilisais est assez "spécial" aussi tu devras peut être adapter
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:27
par spespam
Oui en effet, j'ai l'erreur suivante:
Fatal error: Call to undefined function: id_to_url_page_site() in /www/site_aleatoire.php on line 20
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:30
par Keroin
Ok donc essaye de faire la modif en remplaçant
Code : Tout sélectionner
$idsite_ale = $result['id'];
$titre_ale = $result['titre'];
$description_ale = $result['description'];
$url_ale = $result['url'];
$url_image_ale = $result['url_image'];
$url_du_site_rw_ale = id_to_url_page_site($result['id'],$result['titre']);
echo '<a href="' .$url_du_site_rw_ale. '" onmousedown="return clk('.$idsite_ale.')"><img src=".$url_image_ale." width="120" height="90" border="0" title="'.$titre_ale.'" alt="'.$titre_ale.'"></a><br/><br/> ';
Par
Code : Tout sélectionner
$idsite_ale = $result['id'];
$titre_ale = $result['titre'];
$description_ale = $result['description'];
$url_ale = $result['url'];
$url_image_ale = $result['url_image'];
echo '<a href="' .$url_ale. '" onmousedown="return clk('.$idsite_ale.')"><img src=".$url_image_ale." width="120" height="90" border="0" title="'.$titre_ale.'" alt="'.$titre_ale.'"></a><br/><br/> ';
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:35
par spespam
En mettant :
Code : Tout sélectionner
$url_du_site_rw_ale = id_to_url_page_site($result['id'],$result['titre']);
J'ai :
Warning: Missing argument 3 for id_to_url() in www/annuaire/functions.php on line 73
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:38
par Keroin
Message juste au dessus pour les corrections à tester
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:44
par spespam
J'ai testé mais ça ne marche pas non plus.
Pour le message précédent, je voulais dire :
Code : Tout sélectionner
$url_du_site_rw_ale = id_to_url($result['id'],$result['titre']);
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 19:48
par Keroin
Je parlais de ce message
pages-keroinsite/comptabiliser-les-clic ... html#p2210
Oublie les $url_du_site_rw_ale car de toute façon ça ne fonctionne qu'en modifiant le htaccess...
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 20:14
par spespam
Oui je l'ai testé aussi mais ça ne marche pas non plus.
Re: Comptabiliser les clics
Posté : mercredi, 10 décembre 2008, 21:31
par Keroin
Bon alors on reprend tout depuis le début, j'ai repris ton script initial (celui qui fonctionnait) et ai apporté 2 ou 3 modifs qui a mon avis empêchaient les premières solutions de fonctionner...
Essaye comme ça
Code : Tout sélectionner
<?php
include("annuaire/data_bd_annuaire.php");
include("annuaire/functions.php");
$lk = connection_BD();
$sql2 = "SELECT id, titre, description, url, url_image FROM $T_sites ORDER BY RAND() LIMIT 1";
$ale = send_sql($sql2,"trouver 1 site aléatoirement");
mysql_close($lk);
echo '<br />';
while($result = mysql_fetch_array($ale))
{
$id_ale = $result['id'];
$titre_ale = $result['titre'];
$description_ale = $result['description'];
$url_ale = $result['url'];
$url_image_ale = $result['url_image'];
if (strlen($titre_ale) > 18) { //nombre de caractères au bout desquels il faut couper
$titre_ale = substr($titre_ale,0,18); //nombre de caractères à laisser
$titre_ale .= "..."; //ce qu'il faut afficher au bout des caractères coupés
}
if ($result['url_image'] == '')
{
$url_image_ale = "annuaire/img/image_sites.gif";
} else {
$url_image_ale = $result['url_image'];
}
// Affichage reponses
echo '<a href="' .$url_ale. '" title="' .$description_ale. ' "target="_blank" onmousedown="return clk('.$id_ale.')">' .$titre_ale. '</a><br />';
echo "<img height='90' width='120' src=".$url_image_ale.">";
}
?>
On va bien finir par trouver
Re: Comptabiliser les clics
Posté : jeudi, 11 décembre 2008, 20:20
par spespam
NOn plus ! j'y comprends rien, le code a l'air pourtant bon.
Re: Comptabiliser les clics
Posté : jeudi, 11 décembre 2008, 20:22
par spespam
Je sais pas si ça influe, mais le script sitesaleatoires.php, je le place dans www/annuaire/
Et le fichier pour faire l'include est ici www/
Et bien sur je regarde bien les chemins. ça devrait marcher pourtant.
Re: Comptabiliser les clics
Posté : vendredi, 12 décembre 2008, 11:13
par Keroin
spespam a écrit :Je sais pas si ça influe, mais le script sitesaleatoires.php, je le place dans www/annuaire/
Et le fichier pour faire l'include est ici www/
Et bien sur je regarde bien les chemins. ça devrait marcher pourtant.
Je pense que oui ça doit influer, dans l'appel de l'include, essaye de remplacer l'url relative par l'url absolue, exemple :
Code : Tout sélectionner
<? include ("http://www.urldetonsite.com/annuaire/sitesaleatoires.php"); ?>
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 15:48
par spespam
Non ça n'influe pas. J'ai testé et ça ne marche pas. C'est désespérant ce truc.
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 15:53
par Keroin
L'image s'affiche sur l'autre site ou rien du tout?
C'est juste le onmousedown qui ne fonctionne pas ou le script au complet ?
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 17:24
par spespam
ça affiche bien l'image mais ça ne comptabilise pas les clics quand on clique dessus.
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 17:37
par Keroin
Essaye peut être de remplacer le onmousedown par un onclick alors...
Code : Tout sélectionner
// Affichage reponses
echo '<a href="' .$url_ale. '" title="' .$description_ale. ' "target="_blank" onclick="return clk('.$id_ale.')">' .$titre_ale. '</a><br />';
echo "<img height='90' width='120' src=".$url_image_ale.">";
Dis moi également ce que le navigateur voit comme code (dans le code source coté navigateur => clic droit afficher la source) à l'emplacement d'affichage du script ???
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 18:37
par spespam
Code : Tout sélectionner
<a href="http://www.theatrons.com/impro-augusto-boal.php" title="Ecrivain, dramaturge, metteur en scène, théoricien, homme de théâtre, et homme politique brésilien contemporain, Augusto Boal est l'une des figures majeures du théâtre de la seconde moitié du XXe siècle. "target="_blank" onmousedown="return clk(250)">Le théâtre selon A...</a><br /><img height='90' width='120' src=http://open.thumbshots.org/image.pxf?url=http://www.theatrons.com/impro-augusto-boal.php>
Voici un exemple de code vu par le navigateur. Je vais tester le onclick.
Re: Comptabiliser les clics
Posté : samedi, 13 décembre 2008, 18:55
par spespam
Un click comptabilisé est vu par la navigateur comme ceci :
onmousedown="return clk('82')
Il manque le ' ' qui entoure le numéro du site. Je pense que ça vient de là. D'ailleurs je ne sais pas comment faire apparaître ces ' ' dans le résultat du script.
PS : onclick ne marche pas.
Re: Comptabiliser les clics
Posté : dimanche, 14 décembre 2008, 20:42
par Keroin
Non non c'est normal que les '' n'y soit plus dans le code source du script, je vois pas ce qui peut bloquer car c'est la même fonction que j'utilise ???
Tu as testé en vidant les caches et avec plusieurs navigateurs ?
Re: Comptabiliser les clics
Posté : dimanche, 14 décembre 2008, 21:28
par spespam
Oui j'ai essayé, mais rien àfaire.