compteur de clics

Petit nouveau ! | 3 Messages

21 janv. 2012, 23:36

Bonjour
Sur ma page d'accueil,je propose en téléchargement des fichiers sportifs au format xls et je souhaiterai qu'en dessous de chaque lien s'affiche le nombre de fois que le lien a été visité.
Au départ sur ma page HTML j'avais ceci

<a href = "tableaux/ligue1_saison_2011_2012.rar">LIGUE 1 Saison 2011/2012</a>

et maintenant avec le code PHP

<a href="link.php?url=http://grattis.free.fr/index.php/tablea ... rar"><font size = 5 font color = yellow><b>LIGUE 1 Saison 2011/2012</b></font></a><br>
link.php:
<font size="3" color="white">
<b><?php
$url=$_GET['url'];
$fp=fopen("compteur1.txt","r+") ;
$nb=fgets($fp,10);
$nb++;
fseek($fp,0);
fputs($fp,$nb);
fclose($fp);
print("$nb Téléchargements");
?></b>
Le nombre s'inscrit bien en dessous du lien mais je pense qu'il s'agit d'un compteur de pages vues et le fichier n'est plus disponible en téléchargement (erreur 404).
quelqu'un pourrait t'il m'aider sur ce problème étant complétement novice en PHP.
Merci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 janv. 2012, 23:55

salut,

il faut a chaque arrivée sur la page (link.php
- récupérer le nom du fichier (pas la peine de mettre toute l'url, si c'est ton site juste le fichier voir juste une référence c'est amplement suffisant).
- modifier le nb de clic
- envoyer le fichier

1/ déjà dans ton code (avec $_GET)
2/ incrément d'un fichier ou d'une base de donnée ou autre
3/ utiliser la fonction header pour envoyer le fichier (voir exemple dans la doc).


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

22 janv. 2012, 00:12

Merci pour ta réponse mais je comprends absolument rien
je n'ai aucune connaissance en PHP.
A+

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 janv. 2012, 20:47

Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

23 janv. 2012, 22:33

Re
Bonsoir
qu'est ce qui cloche cette fois ci dans le code quelqu'un aurait t'il une idée.
Merci.
<?php
if(isset($_GET['nom'])){
$concatenation= 'compteur' . $_GET['nom'] . '.txt';
$fp = fopen($concatenation,"r+")or die ("could not create file."); // 1.On ouvre le fichier en lecture/écriture
$nb= fgets($fp,11); // 2.On récupère le nombre dans le fichier
$nb++; // 3.On incrémente le nombre de telechargements(+1)
fseek($fp,0); // 4.On se place en début de fichier
fputs($fp,$nb); // 5.On écrit dans le fichier le nouveau nb
fclose($fp); // 6.On ferme le fichier
}
?>
<a href="page_telechargement.php?nom=1" onclick=window.open('tableaux/ligue1_saison_2011_2012.rar');><b><font color="yellow"><font size = 5>LIGUE 1 Saison 2011/2012</font></b></a><br><font size="3"><?
// target="_blank" en option
<font color = "yellow" font size = 2>
<?php
$fpT1 = fopen("compteur1.txt","r+"); // 1.On ouvre le fichier en lecture/écriture
$nbT1= fgets($fpT1,11); // 2.On récupère le nombre dans le fichier

print("Ce fichier à été télechargé $nbT1 fois "); // 3.On affiche le compteur à l'écran

fclose($fpT1); // 4.On ferme le fichier
?>
</font>