Php Warning: Cannot modify header information

Résolu/Fermé
lolo3 - 24 janv. 2005 à 02:39
 norre - 5 mai 2020 à 00:05
bonjour,

j ai code php qui dans une premiere version dite en "dur" qui marche tres bien.
Le probleme pour sa reutilisation et sa maintenace plus aisee, je souhaite remplacer mes parametres en "dur" par des variables php. J ai donc proceder un la maniere c, a savoir creer un fichier de config: config.php qui donne cela:
<?
if (!isset($CONFIG) || $CONFIG!=1)
{
$CONFIG=1;
$www="xxxxxxxxx";
$database="xxxxxxx";
$dbname="xxxx";
$dblogin="xxxx";
$dbpasswd="xxx";
}
?>


dans mes pages ou je souhaite avoir connaissance a ces variables j ajoute en debut:

if (!isset($CONFIG) || $CONFIG!=1)
{
include('./../config/config.php');
}

Je fais appel a la fonction header du genre:
header("Location: $www");

Au niveau de ma base donnees tout fonctionne(ajout reussi) mais php renvoie

Warning: Cannot modify header information - headers already sent by (output started at /xxxxxxxxxx/config/config.php:26) in /xxxxxxxxxxx/log2/index.php on line 54

Y a t il un myen d eviter cela???
Merci d avance

ps: PHP Version 4.3.4
A voir également:

28 réponses

J'avais le même pb.
J'ai modifié les deux param puis redémarré tous les services.
C'est bon, ca marche, je n'ai plus le message d'erreur.
Alex
0
studio1 Messages postés 12 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 9 octobre 2008 2
9 oct. 2008 à 00:01
merci
0
Bonjour, j'ai ce probleme similaire :

Warning: Cannot modify header information - headers already sent by (output started at C:\xxxxx\wampserver2.0c\www\panier.php:144) in C:\xxxxx\wampserver2.0c\www\panier.php on line 210

Mais je n'arrive pas a résoudre ce probleme meme quand je met ces fameuses valeur à 4096 !
auriez vous une idée SVP ?

MErci bcp d'avance
0
J'ai cherché longtemps la solution à ce problème que j'ai rencontré en créant mon propre thême Wordpress.

Finalement, dans mon cas, c'était beaucoup plus simple que je ne le pensais et que toutes les pistes de solutions que j'ai trouvées dans les forums et leurs commentaires.

J'utilise Notepad++ comme éditeur de code. Pour gérer les accents français, j'utilisais le format "UTF-8". J'ai réglé mon problème en changeant la configuration de Notepad++ pour qu'il crée des fichiers "UTF-8 (sans BOM)".
https://en.wikipedia.org/wiki/Byte_Order_Mark
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pour ma part c'était le problème des espaces après le ?> mais du fichier fonction.php de mon thème. Par contre en local ca marche correct avec la même config serveur ! bonne chance aux autres
0
berrayahkamel Messages postés 174 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 6 avril 2020 64
14 juil. 2013 à 14:04
Es ce qu'il y a un moyen rapide pour régler le soucis dans wordpresse ?
0
zack77 Messages postés 25 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 6 décembre 2020
21 sept. 2014 à 16:48
Bonjour je suis zack,

il ne faut pas avoir d'espace avant et après le code dans le dossier include.
je m'explique!

vérifié si il n'ya pas d'espace ou entre avant le code <?php
et apprès ?>.
la première la doit être <?php
et la dernière doit être ?>

il ne faut pas avoir d'espace avant et après.
0
ElManu92 Messages postés 1 Date d'inscription jeudi 2 octobre 2014 Statut Membre Dernière intervention 2 octobre 2014
2 oct. 2014 à 09:15
Bonjour,

J'ai le même problème que les autres personnes avec l'un des espaces du site web de notre société:
- Warning: session_start(): Cannot send session cookie - headers already sent by
- Warning: session_start(): Cannot send session cache limiter - headers already sent
- Warning: Cannot modify header information - headers already sent by

Je ne suis pas webmaster et ne possède donc aucune connaissance en PHP, le site a été développé par l'un de nos anciens prestataires qui aujourd'hui est injoignable.

J'ai essayé toutes les solutions proposées dans ce forum et les autres, mais malheureusement aucune n'a fonctionné:
- Réencodage du fichier en UTF-8 sans BOM
- Placement du session_start en début de fichier
- Suppression des éventuels espaces invisibles
- ob_start et ob_flush

Voici le code de la page accueil.php:
<?php
	session_start();
	set_time_limit(0);

	$_page->initialiseFilAriane();

	require_once(LSL_WEBSITE_DOSSIER.'ressources/dependances/EXF/formateur.php');
	if (isset($_POST['formateur_id']) && isset($_POST['formateur_passe']))
	{
		$_formateur = Formateur::getFormateurPourPseudoEtPasse($_POST['formateur_id'], $_POST['formateur_passe']);
		$_formateur->enregistreSession();
	}
	else $_formateur = Formateur::getFormateurPourSession();

	if (!$_formateur->existe())
	{
		header('Location: '.SITE_RACINE);
		exit();
	}

	require_once(LSL_WEBSITE_DOSSIER.'ressources/dependances/EXF/formation.php');
	if ($_formateur->estAdministrateur())
	{
		$_formations = Formation::getFormationTitresParFormationCategories();
		if (isset($_POST['generation_pdf']))
		{
			require_once(LSL_WEBSITE_DOSSIER.'ressources/dependances/EXF/pdf2.php');
			EXFPdf2::genereTousLesPdf(Formation::getFormationsVisiblesParFormationCategories());
		}
	}
	else $_formations = Formation::getFormationTitresParFormationCategoriesPourFormateur($_formateur);
?>



Merci de votre aide ! :-)
0