compteur de clic et redirection

aero2
Invité n'ayant pas de compte PHPfrance

14 nov. 2007, 14:11

Bonjour,

je voudrais creer un compteur de clic suivie d'une redirection.
mon compteur est creer mais je ne sais pas comment faire pour la redirection :(
je voudrais que la redirection change en fonction du nombre de clic !
exemple : l'internaute clic sur le lien puis il est redirigé sur une page mais arrivé au 30ème clic la redirection pointe sur une autre page !

Voilà le script utilisé pour le compteur :
<?php
header("Pragma: no-cache");
$file=@fopen("count.txt", "r+");
fscanf($file, "%d", $count);
$count++;
rewind($file);
fputs($file, $count);
fclose($file);
// On affiche le nombre de visiteurs
echo "document.write(\"<a href='http://www.votre_site.com'>Cette page a été vue ".$count." fois</a>\");"
?>
Je me doute qu'il faut utiliser le conditionnel IF, mais je bloque vraiment ...

Help me please ! ! ! :cry:

Eléphanteau du PHP | 26 Messages

14 nov. 2007, 16:10

Bonjour
exemple : l'internaute clic sur le lien puis il est redirigé sur une page mais arrivé au 30ème clic la redirection pointe sur une autre page !

Je me doute qu'il faut utiliser le conditionnel IF, mais je bloque vraiment ...
Tout à fait, à la fin de ton code, tu fais une condition sur ton compteur avec une redirection via la commande header. Pour reprendre ton exemple, à la fin de ton code, il faut donc effectuer quelque chose comme celà :
if ($count<30) {
  header("Location:mapage1.php");
} else {
  header("Location:mapage2.php");
}
exit;
Par contre attention avec la commande header, tu ne peux modifier le header d'une page que si son contenu n'a pas encore été créé. Ainsi, si tu laisse ton "echo", ta redirection plantera, de même si tu as des lignes même vide devant ton <?php.

Bon courage.

ViPHP
AB
ViPHP | 5818 Messages

15 nov. 2007, 01:55

Avec la solution donnée par Gargan21, dès que le compteur aura atteint les trente visites, tout clic sur le lien renverra sur l'autre page (quelque soit le visiteur) et cela ne changera plus par la suite puisque le fichier count.txt est commun à tous les visiteurs.

Si ce fonctionnement te convient ça suffira, mais si tu souhaites faire un décompte des clics personnalisé pour chaque visiteur, il te faudra passer par des variables de session.

Eléphant du PHP | 445 Messages

15 nov. 2007, 02:38

Et il faudrat enlever l'echo sinon le header(location) ne fonctionnera pas.