cs_mehdibou
Messages postés365Date d'inscriptionvendredi 24 mai 2002StatutMembreDernière intervention18 octobre 2004
-
20 déc. 2002 à 17:58
Patrice H
Messages postés42Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention24 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.
Patrice H
Messages postés42Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention24 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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és6Date d'inscriptiondimanche 10 novembre 2002StatutMembreDernière intervention20 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és42Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention24 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és4Date d'inscriptionvendredi 26 septembre 2003StatutMembreDernière intervention16 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és323Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention17 mai 2005 24 avril 2003 à 18:29
Espérons !
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 24 avril 2003 à 18:26
je suppose. il faut pas plus pour se mettre au php.
cs_Dean
Messages postés500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 23 avril 2003 à 21:34
j'ai vu (pauvre dean qui est mailbombé ^^)
pyroflo
Messages postés323Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention17 mai 2005 23 avril 2003 à 21:33
Kirua > je viens de t'envoyer un message sur ta messagerie Codes-Sources ;)
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és323Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention17 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és323Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention17 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és323Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention17 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 !!!
cs_Kirua
Messages postés3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 décembre 2008 23 mars 2003 à 15:06
k, thx
cs_Dean
Messages postés500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és23Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention18 novembre 2003 23 mars 2003 à 12:13
mwé on peut faire plus simple quand meme
cs_Dean
Messages postés500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és3006Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention31 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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és6Date d'inscriptiondimanche 10 novembre 2002StatutMembreDernière intervention20 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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és500Date d'inscriptionmardi 16 avril 2002StatutMembreDerniè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és365Date d'inscriptionvendredi 24 mai 2002StatutMembreDernière intervention18 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
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