Page 1 sur 1

problème changement de page

Posté : 04 août 2012, 15:00
par piervi
bonjour à tous.
j'ai un souci sur ma page php.
lorsque je fais un header('location:blabla.php');
ou lorsque j'appelle une page via un formulaire <form name='exemple' action='blabla.php'>
le serveur renvoie une erreur:
Warning: Cannot modify header information - headers already sent by (output started at /home/.../blabla.php:21) in /home/.../blabla.php on line 112

il me dit donc que le header à déjà été envoyé dans le fichier contact.php que j'appelle à la ligne 112 par une fonction ligne 21... si j'ai bien compris...
hors la ligne 21 correspond toujours au premier <?php (j'ai le même problème avec d'autres fichiers...)

J'ai vu des tutos sur internet qui conseillent d'enlever tout espace ou tabulation avant la première déclaration <? et après la dernière ?> mais rien n'y fait, je ne comprends absolument pas ce qu'il se passe et ce qui peut provoquer ce problème.

voici mes 21 premières lignes

Code : Tout sélectionner

<?php session_start();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Index.php</title> <link href="css/zigzag_css.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="global"> <div id="banniere"><img src="banniere.jpg" width="695" height="200" /></div> <div id="navigation"> <ul id="menu_nav"> <li><a href="index.php" ><img src="accueil.gif" border=0 /></a></li> <li><a href="album.php"><img src="photo.gif" border=0 /></a></li> <li><a href="contact.php"><img src="contact.gif" border=0 /></a></li> </ul> </div> <div id="contenu"> <p>Vous pouvez nous envoyer un email par le biais du formulaire suivant</p> <?php
j'espère que vous aurez une solution à m'apporter parce que là ça fait un moment que je trime dessus...
Merci d'avance

Re: problème changement de page

Posté : 04 août 2012, 16:44
par moogli
salut,

est tu certain de n'avoir aucun affichage avant ?
même pas une ligne vide ? (c'est considéré comme un affichage).

il y a parfois des caractères non imprimable (comme \r \n \t etc etc) qui déclenche l'envoie de l’entête.

Il y a aussi un cas beaucoup plus vicieux avec les fichiers encodé en UTF-8.

si tu utilise l'encodage avec BOM il y a des caractères qui sont considéré comme des chose à imprimer (le BOM n'est pas considéré par php) et donc ça merde.

Pour éviter cela il faut convertir tes fichiers en UTF-8 (et non UTF-8 avec BOM)

@+

Re: problème changement de page

Posté : 05 août 2012, 03:22
par piervi
yop.
Je suis sur de ne pas avoir d'espace inutiles dans mon fichier, je l'ai complètement parcouru une bonne dizaine de fois et quand a l'encodage, je suis en iso-8859-1 donc je ne vois pas... je continue à chercher, sûrement des news demain aprem(il est 3h20 quand même faut dormir le matin..., même les geeks sortent de chez eux le samedi soir... et oui!) Bon week-end à tous et merci moogli

Re: problème changement de page

Posté : 05 août 2012, 14:01
par piervi
Bon après une bonne nuit de sommeil, je me suis repenché sur mes différents codes et dans une fonction de mon fichiers de fonctions globales du site, j'avais un espace après le dernier "}". je suppose donc que c'est cet espace la qui été mal traité lors du chargement de mes pages...
Merci de votre aide, même si j'ai l'impression que ce problème peut survenir à n'importe quel moment et souvent sans solution franche...
C'est fou, c'est toujours sur des petites conneries que l'on perd le plus de temps...

Merci moogli et merci php france ;)