COMPTEUR DE CLICS

cs_mehdibou
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004
- 20 déc. 2002 à 17:58
Patrice H
Messages postés
42
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
24 juin 2011
- 24 mars 2006 à 23:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13063-compteur-de-clics

Patrice H
Messages postés
42
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
24 juin 2011

24 mars 2006 à 23:14
Effectivement, j'ai résolu le problème aprsè plusieurs tentatives infructueuses. en fait l'exemple semble être du php3 et mon easyphp est en version 4 et même 5 depuis que j'ai uploader cette version de php.
De plus je me suis acheté php5 de Stéphane MARIEL et Php5 avancé de Eric Daspet et Cyril Pierre de Geyer.
Je me convertis très vite à ce nouveau langage qui me semble très prometteur et que l'on classifie un peu trop rapidement en créateur de page Web côté serveur. Il semble pouvoir faire beaucoup plus.
Par contre la non compatibilité descendante me parait bien dommage. Un article permettant de comparer les trois versions (3, 4 et 5), en particulier pour la visibilité des variables serait le bienvenu. Il existe peut-être déjà mais le mettre en exergue éviterait aux nouveaux de se prendre la tête et surtout de penser que celui qui a posté un bout de code en 2003 n'a même pas testé.
A plus
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

24 mars 2006 à 21:17
Hello,

Inclus ton fichier avant le <html>. Cela peut paraître bizarre pour un utilisateur de HTML pur, mais c'est en fait utilisé dans de nombreux scripts PHP (par exemple pour induire une compression GZip de la page...)

Cette remarque est probablement inutile puisque j'imagine que le problème a été résolu ; on progresse vite dans ce domaine. ;)
cs_lerak
Messages postés
6
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
20 mars 2006

20 mars 2006 à 16:37
Alors pour ce qui est de la première erreur "connot modify header information" :
Tu ne peux pas modifier le header si tu as déjà demandé (par tes scripts) d'écrire du contenu sur la page. Il faut modifier les header (ou les définir) avant toute chose !
Ensuite seulement tu affiche des choses sur ta page.

Pour la deuxième, je en sais pas, je n'ai pas assez dinformation :=)
Patrice H
Messages postés
42
Date d'inscription
dimanche 12 mars 2006
Statut
Membre
Dernière intervention
24 juin 2011

20 mars 2006 à 15:26
Bonjour

Je suis grand débutant en plein de choses dont javascript et php.

J'ai essayé ce code tel quel.
J'ai créé avec dreamweaver une page index.php et une autre download.php (cette dernière est un copier-coller du source)

Voici index.php

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php include "download.php" ?>
</head>


[download.php?url=test.zip téléchargement]

</html>
et voici la liste des erreurs fournis en lançant index.php par easyphp

DÉBUT DU SCRIPT "download.php"
Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 14

Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 15

Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 16

Notice: Undefined index: url in d:\essai php\download.php on line 18

Notice: Undefined index: url in d:\essai php\download.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at d:\essai php\index.php:5) in d:\essai php\download.php on line 32
FIN DU SCRIPT "download.php" FONCTION POUR RÉCUPÉRER LE NOMBRE DE CLICS téléchargement


Quelqu'un peut-il m'aider malgré l'ancienneté de la source.
Merci.
drzed
Messages postés
4
Date d'inscription
vendredi 26 septembre 2003
Statut
Membre
Dernière intervention
16 juillet 2004

29 oct. 2003 à 13:12
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');

A koi ca sert ??
pyroflo
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

24 avril 2003 à 18:29
Espérons !
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

24 avril 2003 à 18:26
je suppose. il faut pas plus pour se mettre au php.
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

24 avril 2003 à 14:43
Je comprends... Dans deux ou trois semaines ça devrait mieux aller ;-)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

24 avril 2003 à 14:34
euh, j'ai bienessayé mais ... pyroflo a commencé le php ... hier, oui ^^ alors c t dur d'expliquer
je lui ai filé des adresses en béton pour apprendre le php

il a son pc depuis 2 mois, c t dur d'expliquer les langages serveurs / clients, la programmatino objets, les redirections par en têtes en php et les choses auxquelles il faut faire attention :s
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

24 avril 2003 à 14:32
C'est bon je suis toujours vivant ! Alors pyroflo tu as réussi l'installation ? J'espère que Kirua t'a été de bon conseil :-)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 avril 2003 à 21:34
j'ai vu (pauvre dean qui est mailbombé ^^)
pyroflo
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

23 avril 2003 à 21:33
Kirua > je viens de t'envoyer un message sur ta messagerie Codes-Sources ;)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 avril 2003 à 21:23
oui, en revoilà un ^^
je vais laisser cette fenêtre ouverte
pyroflo, tu peux m'ajouter à ta liste msn (si tu as) si t'as besoin d'un coup de main en php, je crois que je devrais pouvoir t'aider (si t'es débutant surement ;))
pyroflo
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

23 avril 2003 à 21:20
lol moi quand j'ai posté mon message et que la page s'est rechargée, eh ben il y avait le commentaire de Dean !

Bon merci je vais essayer maintenant et je vous tiens au courant oky ?
(je pense que je vais encore recevoir des mails moi.....)
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 avril 2003 à 21:18
lo,l j'ai reçu illico 3 mails pour dire qu'il y avait des réponses :P
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

23 avril 2003 à 21:15
(Pour pyroflo : je ne pensais pas que Kirua allait me devancer ;-))

Salut,

C'est vrai que mon script n'est pas très évident pour les débutants, donc je vais en profiter pour ajouter quelques précisions.

Premièrement, il faut créer un dossier "clicks" situé dans le même répertoire que le fichier "download.php".

Ensuite, il suffit de remplacer ton URL de téléchargement par download.php?url=monfichier.zip (par exemple). Normalement un fichier texte contenant le nombre de clicks est créé.

Dans ma description j'ai effectivement parlé de modifications à faire, mais cela dépend en fait de tes besoins, en l'occurence si tu veux utiliser des URLs absolues (avec http://...).

Voici le bout de code qu'il faut remplacer :

// Effectue la redirection vers le fichier
header('Location: ' . $_GET['url']);

Simple, non ?

C'est vrai que je devrais peut-être mettre un zip mais bon j'ai la flemme :-)
pyroflo
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

23 avril 2003 à 21:15
T'es optimiste dis-moi !!!

Mais pour ce fameux compteur de clics, comment faire alors ?
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 avril 2003 à 21:13
courage, le php c'est facile, d'ici peu tu vas créer des trucs de roxor en peu de temps ;)
pyroflo
Messages postés
323
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
17 mai 2005

23 avril 2003 à 18:54
Désolé, je débute en PHP et....j'arrive pô à faire fonctionner le compteur :(
Que faut-il modifier exactement ? Où cela se trouve dans la source stp ?
Et si tu pouvais metrre un zip avec un fichier txt contenant la source entière d'une page PHP où se trouverait un compteur de clics qui fonctionne. Comme ça, ça aiderait les débutants (comme moi !).
Merci !!!

Pyroflo
http://www.abcpyro.fr.st
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 mars 2003 à 15:06
k, thx
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

23 mars 2003 à 15:05
Sous Free, c'est (beaucoup) plus rapide avec les fichiers, mais MySQL a d'autres avantages (moins de code, URL masquée...).

Les deux techniques se valent, si l'on utilise MySQL pour faire sa page de download alors il est préférable de faire du "tout MySQL", si l'on fait un parcours dynamiques des dossiers alors il vaut mieux utiliser les fichiers...
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

23 mars 2003 à 14:29
peu importe plus simple ou pas.
techniquement, c'est plus rapide avec la formule mysql ou avec les fichiers ?
cs_b0uH
Messages postés
23
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
18 novembre 2003

23 mars 2003 à 12:13
mwé on peut faire plus simple quand meme
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

15 févr. 2003 à 14:06
Si ça peut intéresser quelqu'un, j'ai aussi fait une version MySQL qui fonctionne de la même manière (les clics sont cettes fois-ci enregistrés dans une table) :

<?php

/* Mise à jour du compteur de clics et redirection
* Auteur : Dean <charloweb@hotmail.com>
* Version : 2.0b2 (2002-11-30)
*/

require('mysql.inc.php'); /* ce fichier établit une connexion à la base MySQL */

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');

/* On met à jour la table 'files' d'après l'ID passée en paramètre, car on invoque le script de cette manière: download.php?id=xxx */
mysql_query("UPDATE files SET clicks=clicks+1 WHERE id=" . $_GET['id']);

/* On récupère l'URL correspondante */
$url = mysql_fetch_row(mysql_query("SELECT url FROM files WHERE id=" . $_GET['id']));

// On redirige
header("Location: " . $url[0]);

?>
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

15 févr. 2003 à 14:00
ouf enfin installé ^^ j'ai du corriger qq petites choses, parce que avec l'extension .zip en bout d'url ça ne marchait pas.mais c "réparé" ^^

merci !
cs_Kirua
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

15 févr. 2003 à 13:39
super, merci poru ce script. c'est ingénieux d'utiliser les redirections de cette manière ^^
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

21 déc. 2002 à 13:00
Effectivement, c'est un peu différent pour les pages individuelles.

Une méthode consisterait à appeler un script qui incrémente un compteur via un include() dans chacune de tes pages. La nom du compteur serait créé en fonction du nom de la page (un peu comme dans ce script). De cette manière, tu ne serais pas obligé de modifier les liens.
cs_lerak
Messages postés
6
Date d'inscription
dimanche 10 novembre 2002
Statut
Membre
Dernière intervention
20 mars 2006

21 déc. 2002 à 10:44
Ce script est idéal pour les fichiers à télécharger. Il suffirait peut-être de mélanger un peu de javascript avec una ppel du lien dans la balise Body : Fonction mise à jour en fonction de ton parametre URL.

Pour des compteurs de page individuelles, existe t-il autre chose que cette technique qui nécesite tout de même de modifier tous les liens déjà existant.

sur free on peut avoir les stats de son site page à page, mais sur son propre serveur que faut il ecrire comme script
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

20 déc. 2002 à 20:14
C bizarre car le download est une simple redirection gérée par un header("Location: http://...");
Je ne vois pas d'où vient le pb.
cs_Dean
Messages postés
500
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
2 août 2004

20 déc. 2002 à 20:12
C bizarre car le download est une simple redirection gérée par un header("Location: http://...");
Je ne vois pas d'où vient le pb.
cs_mehdibou
Messages postés
365
Date d'inscription
vendredi 24 mai 2002
Statut
Membre
Dernière intervention
18 octobre 2004

20 déc. 2002 à 17:58
J'ai fais le mm script pour mon site mais qd je click sur mon lien, le contenu du fichier est affiché. Pour un txt, ça va mais pour un exe... ça n'ouvre pas la fenêtre IE pour le dl