Warning: Cannot modify header information - headers already sent
Pièces détachées Forum Contact

Warning: Cannot modify header information - headers already sent

Nous rachetons vos PC portables (et MAC) HS
Administrateur

Warning: Cannot modify header information - headers already sent

Vous avez peut être déjà eut cette érreur :

Debug PHP a écrit:

Warning: Cannot modify header information - headers already sent by (output started at /home/nnn/nnn/nnn) in /home/nnn/nnn/nnn/aaaa.php on line 12

La solution est très simple, vous avez fait passer un entete html avant :

Code:

header("Location:http://www.brakstar.com/"); // par exemple

Pour résoudre le problème vous devrez faire passer le html après le code ci dessus.



  



kari

Re: Warning: Cannot modify header information - headers already sent

Cannot modify header information - headers already sent by ;;;;


Ce message d’erreur indique que vous tenter d’écrire des entêtes HTML, alors que le corps de la page a déjà été enrichi.
En plus clair :
Votre script php a généré par exemple
Echo ‘ bonjour,’
Et ensuite dans votre script apparaît une ligne du genre

Header (‘une entête….’)

D’une manière générale il faut éviter ce genre de chose (pour des raisons de performances) mais ce n’est pas rédhibitoire.
Premièrement, faite phpinfo() et vérifier le paramètre output_buffering, il est certainement à off
Il faut le modifier (dans php.ini) il lui attribuer une valeur 1024, 2048 ou 4096 voire on
Il faut aussi penser à redémarrer apache.

Cela veut dire, ( par exemple 4096), que vous enregistrer dans un BUFFER pour un maximum 4096 octets de code de votre page, donc qui ne sont pas encore envoyé vers la sortie standard.
Tant que votre script écrit dans le BUFFER vous pouvez rajouter des entêtes par la commande header. Ensuite le BUFFER envoi en bloc la page vers le navigateur

Evidement, tout ceci n’est valable que si vous avez la maîtrise du php.ini. dans le cas des hébergements mutualisés il n’est pas possible de modifier ce paramètre…
http://www.******.fr
christian preuss



  



Khaane

Re: Warning: Cannot modify header information - headers already sent

Merci!!  Ca fait une plombe que je navigue sur les forums pour essayer de comprendre le problème.  Ici, trois lignes et c'est dans la poche ;o)



  



Mikxy

Re: Warning: Cannot modify header information - headers already sent

Bonjour, j'ai le meme problème avec le code suivant :

Code:

<?php
extract($_GET);
extract($_POST);
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/UserManagement/ManageUser.php');
$userMNG= new ManageUser();
if(isset($action))
{
if($action=="login")
{
$success=$userMNG->login($login,$password);
if($success)
{
header('Location: '.$_SERVER['DOCUMENT_ROOT'].'/ToDoList.php?worker='.unserialize($_SESSION["user"])->getZKP(),false);
exit;
}
else
{
header('Location: '.$_SERVER['DOCUMENT_ROOT'].'/Index.php?error='.$userMNG->getErrorMsg(),false);
exit;
}
}
}
?>

ce code est l'unique information de mon fichier ManageuserServelt.php sur lequel redirige mon formulaire, il n'y a pas d'espace balnc ni avant si apres <?php ... ?>, pas de echo ou html qui traine
et le php.ini est conforme a ce qui est dit plus tot :

Code:

; - output_buffering = 4096 [Performance]

pourquoi ca continue de clocher???



  



Guest-82

Re: Warning: Cannot modify header information - headers already sent

Bonjour à toutes et à tous,
Merci kari pour le truc du buffer. Cela peut peut-être servir à quelque chose. Mais ne croyez-vous qu'il serait plus judicieux de faire du code propre et corriger le problème ?

J'ai la même chose sur un script qui commence tel que :
<?php
header("HTTP/1.1 301 Moved Permanently");
...

dans php.ini, auto_prepend_file n'est pas défini

Donc aucun traitement théorique avant.... et pourtant le même problème que vous :
Warning: Cannot modify header information - headers already sent by (output started at /home/i/sd/is/www/index.php:1) in /home/i/sd/is/www/index.php on line 2

Je regarde donc l'entête renvoyé par le serveur pour essayer de trouver l'origine (l'entète envoyé par apache)
sur www.seoconsultants.com/tools/headers.asp

On obtient alors :
#1 Server Response: ...wwwww/sd/is/www/
HTTP Status Code: HTTP/1.1 200 OK
Date: Sat, 22 Mar 2008 21:29:09 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8g
X-Powered-By: PHP/5.2.5-pl0-gentoo
Vary: Accept-Encoding,User-Agent
Connection: close
Content-Type: text/html

Il y a donc quelque chose qui envoie le code 200 avant MOI !!!!!

Par contre, là, je ne vois pas. Si quelqu'un a une idée, je suis preneur.

Serait-ce configurable dans php.ini ou dù à apache2/php5 ?

Fred



  



Guest-82

Re: Warning: Cannot modify header information - headers already sent

Rebonjour,
Bon d'accord, je reviens sur ce que j'ai dit !
J'ai poussé un peu la question du output_buffering.

Cela fonctionne dès que la valeur de output_buffering est on ou suppérieur à 0 donc au moins 1.

Si j'ajoute sciement 1 caractère, on voit qu'il faut 3 pour que cela fonctionne, et ainsi de suite, 5, 7, ...

Donc chaque caractère de mes scripts dans ma config prennent 2 octets dans le buffer

Il n'empèche qu'il y a toujours ce caractère de *!$£$ qui fait que cela ne fonctionne pas.

Je garde donc ta modif kari pour aller plus vite !

Fred de inooi.com



  



Guest-92

Re: Warning: Cannot modify header information - headers already sent

Bonjour,

J'ai le même genre de soucis, et je n'y connais rien.

Le message d'erreur (sur un minichat intégré sur l'index d'un forum) :

FSB Warning : Cannot modify header information - headers already sent by (output started at /www/tiamat69fr/ajax.php:1) in file /www/tiamat69fr/main/class/class_http.php (67)
FSB Warning : Cannot modify header information - headers already sent by (output started at /www/tiamat69fr/ajax.php:1) in file /www/tiamat69fr/main/class/class_http.php (71)
FSB Warning : Cannot modify header information - headers already sent by (output started at /www/tiamat69fr/ajax.php:1) in file /www/tiamat69fr/main/class/class_http.php (67)
FSB Warning : Cannot modify header information - headers already sent by (output started at /www/tiamat69fr/ajax.php:1) in file /www/tiamat69fr/main/class/class_http.php (67)
FSB Warning : Cannot modify header information - headers already sent by (output started at /www/tiamat69fr/ajax.php:1) in file /www/tiamat69fr/main/class/class_http.php (221)

Quelqu'un peut m'aider ?

Merci



  



Mez

Re: Warning: Cannot modify header information - headers already sent

Ce problème apparet sur mon serveur, ou je peu trouver le fichier php.ini
et comment redémmarer apache



  



Mathieu

Re: Warning: Cannot modify header information - headers already sent

Bonjour,
Logiciel: Website x5 version 8
J'aurais besoin d'aide car j'ai ce message d'erreur lorsque quelqu'un poste un commentaire sur mon blog,

"Warning: flock() has been disabled for security reasons in /var/www/le nom du site/public_html/res/x5blog.inc.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at /var/www/le nom du site/public_html/res/x5blog.inc.php:36) in /var/www/le nom du site/public_html/blog/imcomment.php on line 19

alors que le message lui apparait bien, après un retour sur le blog.

Bref j'ai cherché, mais je n'ai rien trouvé.

Merci de votre aide

Cordialement



  



lorimier

Re: Warning: Cannot modify header information - headers already sent

bonjour  j ai un probleme de connection  apres une inscritption sur rencontre msn.com  m indiquant erreur de login ou mot de passe  impossible de se connecter pouvez vous m aider merci



  



Réponse rapide

forum Répondez et participez librement forum
Services informatiques Merci d'écrire un message de plus de 10 mots en français correct. (Tout message mal rédigé sera effacé.)

Pied de page des forums

Forum : Réseau - Sécurité - Materiel
Php - Référencement - Serveurs - Divers
Windows - Internet - Logiciels - Communication
SARL Brakstar / 485 013 809 R.C.S. BOURGES
2 rue de coulon. 18310 Graçay
Mail : societe@brakstar.com
USA EN ES BR PO DE NL IT SU DN HU JP TE RU PL FI NO GR SE SL ET TH UK SL IN LH RO LE HE BG CZ MS CAT IR CR