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
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. ;)
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 :=)
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.
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
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 ;))
(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 :-)
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 !!!
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...
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']));
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.
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
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
24 mars 2006 à 23:14
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
24 mars 2006 à 21:17
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. ;)
20 mars 2006 à 16:37
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 :=)
20 mars 2006 à 15:26
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.
29 oct. 2003 à 13:12
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 ??
24 avril 2003 à 18:29
24 avril 2003 à 18:26
24 avril 2003 à 14:43
24 avril 2003 à 14:34
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
24 avril 2003 à 14:32
23 avril 2003 à 21:34
23 avril 2003 à 21:33
23 avril 2003 à 21:23
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 ;))
23 avril 2003 à 21:20
Bon merci je vais essayer maintenant et je vous tiens au courant oky ?
(je pense que je vais encore recevoir des mails moi.....)
23 avril 2003 à 21:18
23 avril 2003 à 21:15
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 :-)
23 avril 2003 à 21:15
Mais pour ce fameux compteur de clics, comment faire alors ?
23 avril 2003 à 21:13
23 avril 2003 à 18:54
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
23 mars 2003 à 15:06
23 mars 2003 à 15:05
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...
23 mars 2003 à 14:29
techniquement, c'est plus rapide avec la formule mysql ou avec les fichiers ?
23 mars 2003 à 12:13
15 févr. 2003 à 14:06
<?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]);
?>
15 févr. 2003 à 14:00
merci !
15 févr. 2003 à 13:39
21 déc. 2002 à 13:00
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.
21 déc. 2002 à 10:44
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
20 déc. 2002 à 20:14
Je ne vois pas d'où vient le pb.
20 déc. 2002 à 20:12
Je ne vois pas d'où vient le pb.
20 déc. 2002 à 17:58