Page 1 sur 1
Compteur de clic sans BDD
Posté : 24 mars 2007, 21:33
par sylvaing26
Bonjour je voudrai savoir comment coder un script PHP qui, sans base de donnée, nous donne le nombre de fois que l'on a cliqué sur un lien (compteur de visite sur ce lien). Merci
Posté : 25 mars 2007, 00:11
par Truc
Posté : 25 mars 2007, 00:25
par sylvaing26
Merci, je pense que ca devrai beaucoup m'aider. Je pense qu'il y a moyen d'adpter ces code de compteurs de visites en compteurs de click.
Dites moi votre avis : Je veux faire un lien vers un site et afficher le nombre de clic vers ce lien. si le lien est du genre
http://monsite/compteur.php?id=iddusite
et que la page compteur contient la fonction compteur de visite puis redirection vers le site ca devrai marcher ?
Posté : 25 mars 2007, 02:02
par sylvaing26
C'est bon ca marche sauf que j'ai un probleme ... j'ai un compteur anarchiste ... il m'affiche 2 visites, puis 13, puis 1214 ... et j'ai voulu configurer mon fichier compteur.php pour qu'il redirige vers l'url qui lui a été envoyé mais rien ne se passe .... je comprend vraiment plus rien ... je doit avoir les neurones ramolits !
<?php
$url = $_GET['url'];
$cpt = $_GET['cpt'];
$fp = fopen("$cpt.txt","w+");
$nb_visites = fgets ($fp);
// Instruction 3
$nb_visites = $nb_visites + 1;
// Instruction 4
fseek ($fp, 0);
// Instruction 5
fputs ($fp, $nb_visites);
// Instrcution 6
fclose ($fp);
header(
"Location: $url");
exit();
?>
Posté : 25 mars 2007, 04:43
par Truc
$fp = fopen("$cpt.txt","w+");
un petit "$" de trop.
Pour la redirection essaie sur une ligne :
header("Location: ".$url);
Tu devrais vérifier les données reçue de l'URL avant de t'en servir

Posté : 25 mars 2007, 13:47
par sylvaing26
Merci pour le tuyau de l'URL mais pour mon problème de compteur je voi pas ou ya le $ de trop, le code que tu as mis est le même que le mien ...
Posté : 25 mars 2007, 14:05
par Truc
Ben oui
j'ai pas corrigé
$fp = fopen("cpt.txt","w+");
Posté : 25 mars 2007, 14:34
par sylvaing26
a ok .. chu un peu gogol ... lol mais le truc c'est que mon fichier ne s'appel pas cpt.txt mais $cpt.txt (avec $cpt ma variable) car le lien vers mon fichier est du genre compteur.php?cpt=08786&url=
http://lesite.truc
Posté : 25 mars 2007, 14:36
par sylvaing26
En fait le truc c'est qu'il ecrit bien dans mon fichier texte mais au lieu de rajouter un visiteur a chaque fois il me met des chiffres zarb (0 puis 2 puis 13, puis 1214 etc ....) dans je me demande si ca vien pas de cette partie du code
$nb_visites = fgets ($fp);
// Instruction 3
$nb_visites = $nb_visites + 1;
// Instruction 4
fseek ($fp, 0);
// Instruction 5
fputs ($fp, $nb_visites);
Posté : 25 mars 2007, 15:42
par Truc
Dans ce cas :
$fp = fopen($cpt.".txt","w+");
$nb_visites = fgets ($fp);
// Instruction 3
$nb_visites = $nb_visites + 1;
// Instruction 5
fputs ($fp, $nb_visites);
// Instrcution 6
fclose ($fp);
Posté : 25 mars 2007, 20:00
par sylvaing26
C'est bon en fait, j'ai réadapté tout ca, mon code final pour le compteur est donc :
<?php
$url = $_GET['url'];
$cpt = $_GET['cpt'];
$fichier="$cpt.txt";
// Lecture du fichier s'il existe et incrémente
$cpt = 1;
if(file_exists($fichier)) {
$inF = fopen($fichier,"r");
$cpt = intval(trim(fgets($inF, 4096))) + 1;
fclose($inF);
}
// Sauvegarde du compteur
$inF = fopen($fichier,"w");
fputs($inF,$cpt."\n");
fclose($inF);
?>
et pour le problème de redirection c'est que en fait je ne savait pas quel la fonction header() devait être placée avant toutes les autres balises du code
Merci quand même