Warning: Cannot modify header information
Résolu
Bonjour,
J'ai un petit problème:
j'ai une erreur dans mon script mais je ne sais vraiment pas d'où elle vient.
Le code d'erreur est le suivant : "Warning: Cannot modify header information - headers already sent by (output started at /mnt/156/sdb/5/f/www.... on line 7"
A la ligne 7 j'ai un setcookie('Pseudo', $_SESSION['Pseudo'], $timestamp_expire);
Je l'ai placé au début du code avant toute balise html.
Je ne sais plus que faire aidez moi svp,
Merci,
GDX
J'ai un petit problème:
j'ai une erreur dans mon script mais je ne sais vraiment pas d'où elle vient.
Le code d'erreur est le suivant : "Warning: Cannot modify header information - headers already sent by (output started at /mnt/156/sdb/5/f/www.... on line 7"
A la ligne 7 j'ai un setcookie('Pseudo', $_SESSION['Pseudo'], $timestamp_expire);
Je l'ai placé au début du code avant toute balise html.
Je ne sais plus que faire aidez moi svp,
Merci,
GDX
6 réponses
-
Reivax962 a raison, Plus aucune erreur sans les BOM
Merci beaucoup -
ContributeurJ' avais oublié les BOM :)
-
Ton fichier est encodé en UTF-8 ?
L'UTF-8 normal contient des BOM -- des informations en en-tête de fichier--, que le serveur php n'aime pas. On ne les voit pas dans un éditeur de texte, mais le serveur php, quand il tombe dessus (donc en tout début de fichier), les envoie au navigateur en tant que données.
Tu vas me dire : « Mais alors, on ne peut pas faire de site PHP en UTF-8 ? »
Eh non... Ou plutôt, oui et non : en UTF8 tel que décrit par le standard, non, mais il existe un format dérivé, que l'on peut nommer "UTF8 sans BOM", qui, comme son nom l'indique, est de l'UTF8... sans les BOM.
Il faut voir quel est ton éditeur de texte. Avec Notepad++, la manipulation à faire est très simple :
Format -> Convert to UTF8 without BOM.
Dans un autre éditeur, il faudra chercher un peu...
Xavier -
Modérateurcommence par mettre cette session en tout premier ...
si cela continue, regarde les droits en écriture (chmod) ... -
Je n'ai pas mis de sessionstart() car si je le met ça me donne une autre erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/156/sdb/5/f/www.patatipatata) in /mnt/156/sdb/5/f/www.patatipatata on line 2
je ne sais pas si je dois quand même le mettre -
Contributeurjustement tu dosi avoir un session_start aprés alors que c' est le session_start qu doit etre AVANT tout en premiere ligne