Calcul des clicks sur des liens!

marie
Invité n'ayant pas de compte PHPfrance

23 janv. 2006, 22:20

bonsoir
s'il vous plait je veux savoir comment je peux calculer le nombre de clicks sur un lien.

et merci d'avance!

Mammouth du PHP | 1967 Messages

23 janv. 2006, 22:35

ca dépend si tu veux savoir combien de fois on a été sur la page untel depuis n'importe quel page ou depuis telle et telle pages

Spols

Eléphant du PHP | 440 Messages

23 janv. 2006, 22:39

a mon avis tu ferais mieu d aller voir coté javascript !
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Marie
Invité n'ayant pas de compte PHPfrance

23 janv. 2006, 22:43

bah!
je veux seulement par exemple ecrire cette phrase:
cette chanson est ecouté X fois!
et merci encore!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 janv. 2006, 22:46

Tu dois avoir une base de données (ou fichier) où tu incrémentes un champ à chaque fois qu'un morceau est joué.

Donc une requete de mise à jour (UPDATE) sur la chanson jouée

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 440 Messages

23 janv. 2006, 22:46

Bo alors comme l a dit Spols il faut savoir si tu compte le nombre de fois que la chançon a été écoutée par raport au click sur le lien ou sur le nombre de fois ou la page ou se trouve la chançon a été vue !
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Mammouth du PHP | 1967 Messages

23 janv. 2006, 22:50

visite la page
http://www.toulouse-renaissance.net/c_o ... mpteur.htm

c'est ca que j'ai modifier pour mon site le 3e compteur

marie
Invité n'ayant pas de compte PHPfrance

23 janv. 2006, 22:51

le nombre des click sur le lien de la chanson!

Mammouth du PHP | 1967 Messages

23 janv. 2006, 22:52

mais je suis oqp à faire un script quasi pareil pour comptabiliser le nombre de téléchargement de chaque fichier dispo sur mon site mais je bloque au niveau javascript sinon je te le passerait

Si on me repond sur le forum javascript je test et je te file les codes sources

Spols

marie
Invité n'ayant pas de compte PHPfrance

23 janv. 2006, 22:55

merci cher Spols! :oops:

Mammouth du PHP | 1967 Messages

24 janv. 2006, 22:11

voila mon script est en ordre

le principe du site:
les utilisateurs y dépose des fichier par formulaire
un fichier plat est créer contenant tout les donnée de chaque fichier
et un autre fichier plat est updater a chaque fois pour avoir la liste des fichier à afficher.
une page les affiche un par un avec un lien download sur lequel je compte les cliques
chaque lien renvoi un popup avec le nom du fichier en GET et lance le telechargement en augmentant de 1 le compteur contenu sur le fichier plat correspondant

le script pour afficher le lien
$name_for_pop = trim($contenu[nom_fichier]);
echo "<div align=\"center\"><strong><a
href=\"javascript:void(0)\"
onClick=\"window.open('pop.php?file=$name_for_pop',null,'width=150,height=150, status=no, directories=no, toolbar=no, location=no, menubar=no, scrollbars=no, resizable=no');\"><img src=\"download.jpg\" width=\"60\" height=\"62\" border=\"0\" />
<br>Cliquez	ici</a></strong></p><p>télécharger :",$contenu[compteur],"fois</p></div>
la variable contenu contient le contenu de mon fichier plat

et le fichier pop.php
<?php
function download($filename) { 
    header('Content-Type: application/octet-stream'); 
    header('Content-Disposition: attachment; filename='.basename($filename) ); 
    header('Accept-Ranges: bytes'); 
    header('Content-Length: '.filesize($filename) ); 
    readfile($filename); 
}

if ($_GET[file] != "")
{download($_GET[file]);}

$name_temp = $_GET[file].".txt";
if ($_GET[file] != "")
{
	@$fh = fopen("$name_temp", "r+");
		while (@!feof($fh))
		{
	@		$ligne = fgets($fh);
			if ($ligne==""){continue;}
			$format = explode(">",$ligne);
			if ($format[0] == "compteur")
			{
				$format[1] = trim($format[1]);
				$format[1]++;
				$format_new = $format[0].">".$format[1];
			}
		}
	@fclose($fh);
	@$fh = fopen("$name_temp", "r+");
		while (@!feof($fh))
		{
	@		$ligne2 = fgets($fh);
			if ($ligne2==""){continue;}
			$format2 = explode(">",$ligne2);
			if ($format2[0] == "Description")
			{@fwrite ($fh,$format_new);@fwrite ($fh,"\n");}
		}
	@fclose($fh);
}
?>
Voilà mais pour ton application je te conseille un seul fichier plat contenant le nom des fichier avec le chiffre du compteur séparer par un caractère unique (non utilisé par les fichier du style "§ ou >)

il faut adapter ces script bien sur mais c'est pas si difficile

Spols

Mammouth du PHP | 19672 Messages

24 janv. 2006, 22:16

:shock: C'est quoi ces "@" partout : Si c'est pour masquer des message d'erreur, ça s'appelle des cache-misère. Pas très propre ça

Je m'interroge aussi sur l'utilité des lignes avec l'instruction "continue;" :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1967 Messages

26 janv. 2006, 01:53

les @ c'est juste parce que les message d'erreur sont de toute facon illisible dans le popup et le client ne doit pas les voir l'importance du fonctionnement n'est pas importante donc je masque les message d'erreur.

pour les continue en effet c'est inutile dans ce cas ci mais il s'agit d'une procedure quasi standard que je réutilise chaque fois qui est parfois nécéssaire

merci de tes commentaires

Spols