Auteur Sujet: Compteur De Click Par 24 Heures  (Lu 1836 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Macaudio

  • Débutant
  • *
  • Messages: 53
Compteur De Click Par 24 Heures
« le: 28 mai 2004 à 20:17:26 »
Bonjour

Comment mettre en place un système de comptage de clic sur des liens avec un seul clic par 24 heures par visiteur grâce aux cookies.

Existe t'il des scripts tout prêt pour faire ça?

Merci
Mac Audio : Et la pomme donne le son...

Hors ligne Samiby

  • Connaisseur
  • ***
  • Messages: 427
    • ICHTHUS.ADOS
Compteur De Click Par 24 Heures
« Réponse #1 le: 28 mai 2004 à 21:20:29 »
Pour 24 H, tu veux dire que le nombre de cliks est compté depuis le moment où a lieu le premier clic, ou à partir de 0H ?
Blogs gratuits
Un chercheur et remplaceur de mots en série, dans des fichiers textes (php, xml, html, css, ...) Nouvelle version ! 1.0beta2
"Je remercie tous ceux à qui je dois de vivre", Guillevic

Hors ligne Macaudio

  • Débutant
  • *
  • Messages: 53
Compteur De Click Par 24 Heures
« Réponse #2 le: 28 mai 2004 à 21:47:35 »
Je voulais dire clic uniques sur 24 heures, qu'une même personne puisse pas cliquer plusieurs fois de suite et faire monter le compteur. :)
« Modifié: 28 mai 2004 à 21:48:26 par Macaudio »
Mac Audio : Et la pomme donne le son...

Hors ligne 2ae

  • Débutant
  • *
  • Messages: 70
    • http://www.ensieta.fr/2ae
Compteur De Click Par 24 Heures
« Réponse #3 le: 29 mai 2004 à 10:33:43 »
Salut,

personnellement j'aurais fait une table pages_cliquees avec les champs suivants :
  • id
  • IPvisiteur
  • pagevue
  • datevue
et quand une personne clique sur un lien ca appelle compterclic.php?page=pagedemandee

avec compterclic.php$db=mysql_connect();
$ya24heures=time()-60*60*24;
$sql="SELECT * FROM pages_cliquees WHERE IPvisiteur=$ip_visiteur AND pagevue='$page' AND datevue>$ya24heures";
$res=mysql_query($sql);
if ($ligne=mysql_fetch_object($res)) // si le visiteur a clique il y a moins de 24 heures
    print("Vous ne pouvez pas cliquer plus de deux fois sur ce lien en moins de 24 heures");
else {
    $sql="INSERT INTO pages_cliquees ('IPvisiteur', 'pagevue','datevue') VALUES ('$ip_visiteur','$page','".date()."')";
    $res=mysql_query($sql);
    header("Location:".$page);
}

(tu peux remplacer la detection de IPvisiteur par n'importe quoi d'autre qui identifie ton visiteur of course)

C'est peut etre pas la facon la plus legere mais ca marche ;-)
« Modifié: 29 mai 2004 à 10:36:05 par 2ae »

Hors ligne 2ae

  • Débutant
  • *
  • Messages: 70
    • http://www.ensieta.fr/2ae
Compteur De Click Par 24 Heures
« Réponse #4 le: 29 mai 2004 à 10:42:31 »
Oups j'avais pas vu que tu avais specifié
Citer
grâce aux cookies

Alors dans ce cas, je dirai que si tu as une fonction stocke_cookie(nom, valeur, date_expiration)

tu pourrais mettre tes liens sous la forme :
<a href=compterclic.php?page=pageDemandeeParVisiteur>Lien vers la page</a>
et dans compterclic.php
<?php
if isset($$page) // si un cookie existe
    print("Vous ne pouvez pas cliquer plus de deux fois sur ce lien en moins de 24 heures");
else { // le visiteur n'a pas clique sur ce lien dans les derniers 24 heures
    stocke_cookie($page, "1", date()+60*60*24); // le cookie sera mort dans 24 heures et d'ici la il indiquera que la page a été vue
    header("Location:".$page);
}

En espérant que c'est ce que tu attendais... ?

Hors ligne didiou

  • Connaisseur
  • ***
  • Messages: 367
    • Guichen Poker Club
Compteur De Click Par 24 Heures
« Réponse #5 le: 29 mai 2004 à 10:46:32 »
Moi j'ai la soluce, assez simple du reste, mais rien n'empêchera un visiteur de désactiver ses cookies ou de les supprimer afin de voter autant de fois qu'il le désire...

Voilà ce que je te propose, sans rentrer dans les détails pour savoir où se trouve le lien que tu cliques et les procédures pour trouver $url et $id (car tu peux les récupérer par mysql ou par la lecture d'un fichier, au choix :

1) fichier source où le visiteur doit cliquer :

<html>
<head>...</head>
<body>...
<script language='JavaScript' type='text/javascript'>
 function click(id)
 {
  var w = window.open ('click.php?id=' + id, 'pop_click');
  w.focus();
 }
</script>
...

<?php
// La valeur id du lien est à déterminer ici !
echo "<a href=\"javascript:click($id)\">Votre lien</a>";
...
?>

...
</body>

2) le fichier click.php

<?php

// Gestion du cookies
if (!$MON_COOKIES) // si le cookies n'existe pas, on le créé et on va vers le lien sinon on ne fait rien

{
 // on créé le cookies d'une durée de 24 heures
 setcookie("MON_COOKIES", "CLICK", time()+86400); // 24 heures !
 // ici tu mets la requête qui donnera la variable $url où se trouve le vrai lien (grâce à $id que l'on a passé en paramètre
 ...
 // ici tu mets la requête qui incrémente le nombre de clicks
 ...
 // Redirection vers le lien $url
 header ("Location: $url");
}

?>
« Modifié: 29 mai 2004 à 10:53:06 par didiou »


Hors ligne Macaudio

  • Débutant
  • *
  • Messages: 53
Compteur De Click Par 24 Heures
« Réponse #6 le: 31 mai 2004 à 18:01:04 »
Merci, je vais tester. :)
Mac Audio : Et la pomme donne le son...