1 Dernière modification par Pomelo (16/07/2005 15h48m51s)

Sujet : Warning: session_start() .....

Bonjour tout le monde

Je viens de tester ce programme en version php4 mais, j'ai une erreur en haut de page.
Mon erreur entiere :

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/........../galerie/config.php:1) in /home/........../galerie/classes/panierdefichiers.class.php on line 90

De plus, j'ai essayé de mettre des images dans le panier. Cela fonctionne mais, lorsque je demande à télécharger, j'ai un message d'erreur :

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/........./galerie/config.php:1) in /home/........../galerie/classes/panierdefichiers.class.php on line 90

Warning: Cannot modify header information - headers already sent by (output started at /home/............/galerie/config.php:1) in /home/........./galerie/classes/panierdefichiers.class.php on line 198

Warning: Cannot modify header information - headers already sent by (output started at /home/......................./galerie/config.php:1) in /home/..................../galerie/classes/panierdefichiers.class.php on line 199

Puis après ca plein de symboles comme lorsque l'on veut ouvrir une image avec un éditeur de texte....

Est-ce que quelqu'un a une idée?

En tout cas, je trouve ce programme vraiment très interessant !!!

EDIT :
Je viens de tester le programme sur Free et, il fonctionne correctement.
Le premier test que j'avais fait était sur OVH .... Donc, apparemment, le souci vien de l'hébergeur mais, est-ce que vous savez quoi exactement ?

Merci smile

Re : Warning: session_start() .....

Salut et bienvenue !

Désolé pour ce délai de réponse, j'étais moi-meme en week end et il semblerait que personne d'autre que moi ne soit passé par ici wink

Est-ce que par hasard tu aurais tenté d'intégrer AlBulles dans ton site internet ? Si c'est le cas, alors c'est normal. Il y a un tuto sur ce même forum qui explique la marche à suivre pour intégrer correctement AlBulles dans un site web.

Quoi qu'il en soit, cette erreur signifie que le session_start() est fait alors que les entêtes HTTP ont déjà été envoyées au client (avec un echo ...; par exemple). Ce qui veut dire que si AlBulles donne cette erreur, c'est que quelque chose à déjà du être envoyé au client.

En espérant que je réponds au moins partiellement à ton pb, bonne utilisation smile

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Warning: session_start() .....

Bonjour et merci pour ta réponse big_smile
Pas de souci pour le "delai"

En fait, non, je n'avais pas encore essayé d'intégrer le programme a mon site.
J'ai juste créé un dossier "galerie" sur mon hébergement, j'y ai mis les fichiers et, j'ai envoyé quelques images pour tester. Donc, je l'ai utilisé seul et, ca ne fonctionnait qu'avec l'erreur.

Cependant, c'est pas plus mal : je vais laisser le programme sur free et, je vais le "raccrocher" sur mon site en iframe (parce que les images doivent etre utilisées sur le serveur où est hébergé le programme et, ca va me prendre de la bande passante hmm  )

Sinon, je vais quand meme regarder pour le tuto pour integrer Bubulle a mon site.

J'ai une petite "question/suggestion" pour ce programme (je commence bien moi avec mes questions, j'embête tout le monde lol )
Serait-il possible qu'a coté de chaque image des galeries, il y ait, en + de la taille du fichier, le nombre de fois que le fichier a été téléchargé? Ainsi, on peut savoir quels fichiers sont les + téléchargés et bien sur, ceux qui le sont le moins.

En tout cas, encore félicitations pour ce super travail ! wink big_smile

Re : Warning: session_start() .....

Salut !

Merci pour ton compliment.

Pour répondre à ta suggestion, tu peux tout à fait améliorer ce script pour qu'il stocke le nombre de téléchargements. C'est un peu délicat et lourd de gestion mais c'est faisable. Je m'explique :

Je dis délicat car il faut distinguer deux choses : un clic sur l'image pour l'avoir en taille réelle et un véritable téléchargement. Ce dernier peut se faire de deux manières : un 'clic droit > Enregistrer l'image sous' sur une image en particulier et un téléchargement via une archive. Dans le premier cas (le clic droit sur l'image), je ne vois pas comment le comptabiliser. Je ne connais aucune façon de le faire et je doute que cela soit possible. En revanche, il est tout à fait possible de compter lors de la création d'une archive. Quant au comptage par clic, cela n'est pas très représentatif du téléchargement...Mais c'est possible aussi.

Je dis aussi lourd de gestion car il se pose la question du stockage des compteurs. Il faut un compteur par image. Ce qui peut donc monter très vite ! Trois solutions sont possibles (comme le script fonctionne sans base de données, je ne propose pas de solution avec base de données, mais c'est tout à fait possible...) :

* Un fichier général, placé par exemple à la racine du dossier photos, dans lequel une ligne est un compteur. Cette ligne pourrait se présenter de la manière suivante : nom_du_dossier/nom_de_l_image.jpg:COMPTEUR.
* Un fichier par dossier de photos, selon le même principe que la solution précédente, mais cela permet d'isoler par sous-dossier. Toujours avec une ligne par image mais présenté de la manière suivante : nom_de_l_image.jpg:COMPTEUR (plus besoin du dossier dans ce cas).
* Un fichier par image. Au premier clic sur une image, on créé son compteur associé dans un fichier de type : nom_de_l_image.txt, dans lequel une seule ligne exite et qui contient le compteur de l'image.

Quelle que soit la solution choisie, il faut d'abord écrire une fonction qui récupère en paramètre le nom d'une image (avec ou sans le dossier dans lequel elle se trouve selon la solution choisie) et qui ouvre le fichier de compteur. Avec les 2 premières solutions, il faut faire une recherche du compteur dans le fichier, prendre la valeur actuelle du compteur l'incrémenter et la remplacer (tout ça se fait avec des expressions régulières). Avec la 3ème solution, il suffit juste le lire le contenu du fichier et de le remplacer avec le compteur incrémenté.

Reste plus qu'à mettre en oeuvre cette fonction :

* Lors d'un clic sur une image : il faut modifier le lien vers l'image. Cad qu'il faut modifier la génération des liens vers les images réelles pour que le clic oriente vers un script php plutot que l'image elle même. Ce script PHP recevrait dans l'url le nom de l'image, lancerait la fonction de comptage et redirigerait automatiquement l'utilisateur vers l'image réelle. C'est une opération quasi transparente et l'utilisateur n'aura pas l'impression de passer par une autre page avant d'arriver sur l'image.

* Lors de la création d'une archive, il faut modifier la méthode de génération de l'archive pour que celle ci incrémente le compteur de chaque image ajoutée.

Pour terminer, il faut bien sûr modifier l'affichage des vignettes pour ajouter l'affichage du compteur avec les autres infos (création d'une pseudo variable dans le template, lecture du compteur lors de la génération de la vignette et parsage de cette valeur dans le template. Il suffit juste de regarder comment les autres infos sont mises à l'heure actuelle, c'est tout simple).

Voili voilou smile Si tu te sens d'attaque big_smile
Je n'aurais personnellement pas le temps de faire ça, ni l'envie. Je veux avant tout qu'AlBulles soit simple et léger pour être compréhensible par tous. Il s'agit avant tout d'un exemple de mise en oeuvre de ma classe PanierDeFichier. Mais toute modification est autorisée et même encouragée. Si jamais tu développes cette modification, n'hésites pas à en faire part sur ce forum.

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

5 Dernière modification par Pomelo (18/07/2005 18h22m14s)

Re : Warning: session_start() .....

Hihi, merci pour cette longue réponse et toutes ces explications mais, je ne connais rien du tout en php hmm
Je me doutais bien que ce serait compliqué vu qu'il n'y a pas de base de données.

En tout cas, merci !

Je viens de réussir à mettre bubulles sur mon site en l'integrant mais, j'ai encore 2 "problemes"
1 - entre mon en-tete et la galerie, y'a 2-3 caractères qui sont affichés et, je ne sais pas d'où ils viennent :

 

(vous pouvez voir ca sur cette page : http://www.cobayous.com/site/farfouille/galerie
2 - sous firefox, ca marche nikel mais, sous IE, lorsque je passe la souris sur les liens des dossiers, la partie gauche de la galerie "clignotte"
Y-a-t-il quelque chose a faire contre ca ?

Merci d'avance big_smile

EDIT : pourquoi est-ce que les caractères "é" se transforment en "é" ? hmm

Re : Warning: session_start() .....

Je pense que tu as du éditer les fichiers en UTF-8. Or, dans ton entete de fichier, tu indiques que ta page est encodé en iso-8859-1. Il y a donc un conflit de type.

Deux solutions possibles : soit tu changes le charset de ta page pour le mettre en UTF-8 soit tu fais en sorte que les accents d'AlBulles soient compatibles iso-8859-1 (tu peux utiliser la notation é, &agrave, etc...).

Pour ce qui est des caractères mystérieux, essaye de voir si dans le fichier html.php, il n'y aurait pas quelques caractères cachés qui serait venu se  glisser (Ce sont des caractères qui peuvent être générés par ton éditeur. Scite fait des choses comme ça par exemple. Ce sont des bogues). Si tu ne trouves pas, essais de réuploader le fichier, mais il faudra que tu recommences tes modifs.

Quant à IE, je ne peux pas te répondre. Je suis au boulot et sous Mac : donc pas d'IE sous la main. Je regarderais chez moi et je te dirais tout ça.

Bonne soirée et bon courage smile

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW

Re : Warning: session_start() .....

Je suis allé faire un tour avec IE, je n'ai rien vu d'anormal. Peut être as tu fais des modifs depuis ?

-------------------------------
"Keyboard not detected, press a key to continue..."

WWW