Erreur : Cannot modify header information - headers already sent [Fermé]

Signaler
Messages postés
21
Date d'inscription
lundi 9 juin 2014
Statut
Membre
Dernière intervention
29 janvier 2015
-
Messages postés
2370
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
-
Bonjour,

ce simple code php me crée une erreur et je ne sais pas quoi faire.

<?php
$value='something from somewhere';

setcookie("TestCookie",$value,time()+60,'/');
print_r($_COOKIE);
?>

l'erreur est :
php warning cannot modify header information - headers already sent by cookie

Je ne comprends pas.J'ai en faisant le tour sur internet vu que ça pourrait être causé par des espaces mais je n'en vois pas là.

Merci d'avance

2 réponses

Messages postés
214
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
29 août 2014
42
en fait au-dessus de:
<?php

Tu ne dois avoir aucun espace, ni retour à la ligne.
le chevron doit impérativement être le tout premier caractère.
Messages postés
214
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
29 août 2014
42
et c'est quoi ton fichier file.php ? les 10 premières lignes ?
Messages postés
21
Date d'inscription
lundi 9 juin 2014
Statut
Membre
Dernière intervention
29 janvier 2015

<?php
$value='something from somewhere';

setcookie("TestCookie",$value,time()+60,'/');
print_r($_COOKIE);
?>


les lignes ci dessus représentent exactement le contenu de file.php.En fait j'aimerais écrire un programme qui utilisera un cookie.Mais vu que ce sera la première fois que j'utiliserai ce cookie,j'ai dans un premier temps écris ces lignes pour voir si ça marche.
Messages postés
214
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
29 août 2014
42
Sur le lien http://www.punchost.fr/test.php tu pourra voir le résultat des lignes que tu as indiqués. Tu n'a pas la même chose ?
Messages postés
21
Date d'inscription
lundi 9 juin 2014
Statut
Membre
Dernière intervention
29 janvier 2015

L'array est vide donc le cookie n'a pas été créé.J'ai cherché la raison pendant un moment mais c'est finalement quand j'ai testé le script avec screen en ligne de commande ubuntu que j'ai eu le message d'erreur histoire de comprendre pourquoi mon cookie ne va pas.
Messages postés
2370
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
430
Au premier lancement du script, le cookie est créé sur le poste su client mais celui-ci n'est pas accessible dans $_COOKIE puisque le client ne l'a pas encore envoyé.
Si le cookie est bien créé, c'est au prochain chargement du script que le client va envoyer en paramètre son cookie, c'est donc à ce moment que le cookie sera accessible dans $_COOKIE.

Regarder les entêtes http (avec Firebug par exemple) pour voir quand le cookie est bien envoyé par le client.
Messages postés
3624
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 septembre 2020
969
Bonjour,

PHP Warning: Cannot modify header information - headers already sent by (output started at /opt/lampp/.../file.php:5) in /opt/lampp/..../file.php on line 4
Très étrange.
En gros, il te dit qu'il ne peut pas faire la ligne 4 car la ligne 5 a déjà été faite.

Seule solution : ton fichier file.php est appelé deux fois. La première fois, ça fonctionne, mais la deuxième fois ça plante à cause de la première.

Est-ce que tu l'appelles par des include et/ou require ?
Voire dans ton php.ini en prepend ?

As-tu essayé d'appeler directement file.php dans ton navigateur ?

Xavier