8217 sujets

Développement web côté serveur, CMS

Bonjour à tous.
Je suis le fondateur du site https://myeleec.fr, il s'agit d'un site où nous proposons aux élèves et particuliers des cours et de l'aide en électricité gratuitement.

Depuis le début du site, nous utilisons un compteur de clic qui a été abandonné il y a quelques années. Nous avons tenté de le maintenir, mais cela devient de plus en plus compliqué. Notre hébergeur vient de m'indiquer que ce compteur redirige vers du contenu nuisibles ou malveillant ...

Je me suis donc mis à la recherche d'une solution alternative. Et j'ai trouvé quelque chose de sympa : http://old.quentinc.net
Il propose ce script (je n'ai pas trouvé comment y accéder via son site ...) :
http://old.quentinc.net/php/index.php?phpdownload=countclick

Je l'ai donc téléchargé et je l'ai configurer pour l'utiliser sur notre forum phpbb.

Utilisation du BBCode :
[clac]{TEXT}[/clac]


Code HTML de remplacement
<a href="countclick.php?url={TEXT}">{TEXT}</a> Cliqué <script type="text/javascript" src="countclick.php"></script> fois !


Ligne d’aide
[clac]{TEXT}[/clac]


CE qui donne :
upload/1595832989-80609-clics.png

Seulement, ce script ne fonctionne que pour une seule URL. J'ai mis une seconde URL en dessous, et les deux ont le même nombre de clique.
D'ailleurs, le fichier countclick.dat créé automatiquement ne possède qu'une seule valeur : le nombre de clique. Dans mon cas : 3.

Est-ce que quelqu'un pourrait m'aider à le rendre "multiURL" ?

Merci beaucoup pour votre aide.
Cordialement
Christophe
Salut,

$fileName = "countclick.dat";

$n = @file_get_contents($fileName);
if (!$n) $n=0;
$n = floor($n);

if (isset($_GET["url"])) {
  $n++;
  $fd = @fopen($fileName, "w")
  or die("ERREUR : Impossible d'ouvrir le fichier $fileName pour écriture");

  @fwrite($fd, $n);
  @fclose($fd);
  header("Location:".$_GET["url"]."");
  exit();
}
else {
  echo("\r\n document.write('$n'); \r\n");
}

Le script PHP se contente d'incrémenter un entier dans un fichier. C'est effectivement très limité. Il faudrait enregistrer également le nom ou l'identifiant du lien. Autrement dit changer le format du fichier.

Parmi les formats simples d'utilisation en PHP, on peut citer JSON qui peut être facilement lu et écrit. En passant en paramètre l'idenfiant du lien à la page php, le fichier de sauvegarde pourrait ressembler à ça :

{
  links: [
    {
      page: 'spotify',
      count: 5
    }, {
      page: 'schemas3',
      count: 12
    }    
  ]
}