Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Neo
Inscrit le: 31 Mar 2004 Messages: 18
|
Posté le: Sam Avr 03, 2004 16:00 Sujet du message: Problème concernant la gestion des cookies |
|
|
Bonjour,
Je développe un petit site en local avec easyphp 1.7. Ce site se sert de quelques cookies pour la gestion de sessions, bref je n'entrerai pas dans les détails. En local le site marche parfaitement, aucune erreur à propos des cookies. Cependant dès que je le met online la galère commence et j'ai des erreurs du type :
"headers already sent by (output started at... etc"
Hors les cookies marchent bien en local ! Je fais donc une petite recherche à ce sujet et je trouve la réponse : il faut mettre output_buffering = 4096 dans la configuration PHP du serveur !
Hors comment puis je faire ? Puis je le modifier juste pour mon site ? Ou faut-il que Eurower le fasse ? Et si c'est Eurower qui doit le faire, le veut il bien ?
En espérant que je me suis à peu près bien expliqué et qu'on pourra m'aider !
++
Neo _________________ www.arena-games.net |
|
Revenir en haut de page |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 05, 2004 09:25 Sujet du message: |
|
|
Bonjour,
La solution trouvée output_buffering n'est qu'un colmatage d'une erreur dans votre site
En effet, avec EasyPHP, si vous écrivez:
echo "toto";
puis
header(....
alors EasyPhp génèrera bien une erreur mais de facon quasi transparante alors que sur un vrai serveur, l'erreur empechera l'execution de la suite de votre code !
Vous devez donc corriger votre code plutot !
Vous ne devez jamais rien envoyer au navigateur (echo, print etc ...) avant un header() !
Sinon utiliser des variables !
Mais si votre header comporte un "location", alors normalement vous n'avez en aucun cas à envoyer des données vers le navigateur !
Cordialement, _________________ Modérateur des forums
Président de l'association
Hébergement eurower.net
Association loi 1901 |
|
Revenir en haut de page |
|
|
Neo
Inscrit le: 31 Mar 2004 Messages: 18
|
Posté le: Lun Avr 05, 2004 14:33 Sujet du message: |
|
|
Le truc intéressant ici c'est de remarquer que mon cookie n'est pas lancé par la fonction setcookie() à cause du echo qui se trouve après celle-ci ! (si on en croit l'erreur)
Avant qu'on me pose la question aucune balise HTML n'est lancé avant, ni echo ni header... Juste des if() et des connexions à la base de donnée et quelques traitements des données sorties de la bdd
Une explication _________________ www.arena-games.net |
|
Revenir en haut de page |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 05, 2004 15:57 Sujet du message: |
|
|
Peut être qu'une autre erreur survient lors du code précédent le cookies !
Dans ce cas, c'est le message d'erreur généré par PHP qui va bloquer la suite du code ... _________________ Modérateur des forums
Président de l'association
Hébergement eurower.net
Association loi 1901 |
|
Revenir en haut de page |
|
|
Neo
Inscrit le: 31 Mar 2004 Messages: 18
|
Posté le: Lun Avr 05, 2004 16:50 Sujet du message: |
|
|
Les cookies sont lancés par une fonction appelons la SessStart();
L'affichage se fait par une autre fonction appelons la affichage();
Je mets dans ma page le code comme ceci :
<?
SessStart();
affichage();
?>
Le problème peut-il venir de là ? Je veux dire du faite que les fonctions ne seraient pas exécutés dans l'ordre où je les appelle, ou que la fonction affichage() s'exécute plus vite que SessStart() ?
Ce ne sont que pure hypothèse. Sinon pour régler le problème il n'est pas possible d'activer le output_buffering à partir du code ou d'un fichier annexe ?
Arf... ça arrive qu'a moi ces trucs là... _________________ www.arena-games.net |
|
Revenir en haut de page |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 05, 2004 17:35 Sujet du message: |
|
|
Mettez donc l'URL dans vos posts ! _________________ Modérateur des forums
Président de l'association
Hébergement eurower.net
Association loi 1901 |
|
Revenir en haut de page |
|
|
Neo
Inscrit le: 31 Mar 2004 Messages: 18
|
Posté le: Lun Avr 05, 2004 18:10 Sujet du message: |
|
|
Eh bien en fait le site n'est plus sur internet puisqu'il ne fonctionnait pas !
Je vais les remettre, je vous envoie un message privé pour vous donner l'adresse. _________________ www.arena-games.net |
|
Revenir en haut de page |
|
|
|