erreur header
bonjour,
j'ai un problème que je ne comprends pas.
Sur une page j'ai un bandeau gauche sur lequel s'affiche un formulaire pour la sélection de dates.
parallèlement je lance une page "conex" pour la connection à la base plus des vérifications et stat.
lorsque je sélectionne une date j'ai cette erreur.
(Malgrè cette erreur affichage de la page l'année sélectionnée s'effectue correctement)
1852
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\timbres ver2\conex.php:193) in c:\program files\easyphp1-8\www\timbres ver2\bandeau_gauche-collec.php on line 8
si je mets un "@" devant header je n'ai plus ce message mais par contre la date sélectionnée reste affichée (par exemple 1852)
Merci de votre aide
Guppy71
Ben c'est simple, dans c:\program files\easyphp1-8\www\timbres ver2\bandeau_gauche-collec.php à la ligne 8, tu fais un header alors que dans c:\program files\easyphp1-8\www\timbres ver2\conex.php à la ligne 193, tu dois faire un echo, ou bien tu affiches du HTML.
Or quand tu fais un header, tu ne DOIS PAS afficher du texte avant.
je reviens avec mon problème. Pour la page "conex" je n'ai plus d'erreur, par contre maintenant j'ai une erreur à la ligne 42
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\timbres ver2\collection\accueil-collection.php:42)
ci dessous le bout de code de la page "accueil-collection"
<?php
session_start();
$_SESSION['chemin']="../";
require_once("../conex.php");
if(!isset($HTTP_POST_VARS['ch1'])) $ch1="on"; else $ch1=$HTTP_POST_VARS['ch1'];
if(!isset($HTTP_POST_VARS['an'])) $an=""; else $an=$HTTP_POST_VARS['an'];
if(!isset($HTTP_POST_VARS['mot'])) $mot=""; else $mot=$HTTP_POST_VARS['mot'];
if(!isset($HTTP_POST_VARS['rech'])) $rech=""; else $rech=$HTTP_POST_VARS['rech'];
$_SESSION['lien']="accueil-collection.php";$sel="";$re=1;
$_SESSION['page']=$_SESSION['lien'];
?>
<? if($rech=="ok") {
$yvert= mysql_real_escape_string($_POST['yvert']);
$result = mysql_query("SELECT * FROM collec");
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($yvert==trim($row[1])) {$_SESSION['num']=$yvert;$re=2;}
}
if($re==2) header("location: pop.php");
if($re==1) $re=0;
}
?>
<?php // petit moteur de recherche
if($mot=="ok") {
$_SESSION['recherche']="";
$_SESSION['rechannee']="";
$lst=key($_POST['bouton']);
if($lst=="mot") {
$_SESSION['recherche']=mysql_real_escape_string($_POST['rechmot']);
$_SESSION['ch1']=$ch1;
}
if($lst=="annee") {
$_SESSION['rechannee']=mysql_real_escape_string($_POST['rechannee']);
}
header("location: ../recherche.php");
}//fin de if mot
?>
<head>
<title>Les timbres de France, site pour philatéliste, faire des echanges, gerer une collection</title>
<META NAME="description" CONTENT="collection de timbres de france, échanges de timbres, forum, visiter la collection, gérer votre collection en ligne, l'histoire du timbre">
<META NAME="keywords" CONTENT="timbre,timbres,TIMBRE,TIMBRES,timbre de france,timbres de france,timbre de France,timbres de France,France,france,timbre francais,timbres francais,timbres français,timbres personnalisés, TIMBRE PERSONNALISE,stamps,stamp,stamp french,philatélie,philatelie,philatélie echange,collection timbre,collection timbres,collections,gerer collection,cote timbres,cote timbre,cotes timbres,cotes timbre,échange,echange timbres,echange timbre,annonce,annonce timbres,forum timbres,forum echange timbre,1849,2005">
<META NAME="robots" CONTENT="all">
<META NAME="REVISIT-AFTER" CONTENT="3 days">
<meta http-equiv="Content-Type"content="text/html; charset=iso-8859-1">
<link rel="stylesheet"type="text/css"href="../style.css">
</head>
<body>
<table width="800" align="center">
<tr>
<td colspan="2"><?php require_once("../bandeau_haut.php");?></td>
</tr>
<tr>
<td width="184" valign="top"><?php require_once("../bandeau_gauche-collec.php");?></td>
Il n'y a pas de "blanc" les scripts demmarent à la ligne 1
Guppy71
la ligne 42 correspond à :
<META NAME="keywords" CONTENT="timbre,timbres,TIMBRE,TIMBRES,timbre de france,timbres de france,timbre de France,timbres de France,France,france,timbre francais,timbres francais,timbres français,timbres personnalisés, TIMBRE PERSONNALISE,stamps,stamp,stamp french,philatélie,philatelie,philatélie echange,collection timbre,collection timbres,collections,gerer collection,cote timbres,cote timbre,cotes timbres,cotes timbre,échange,echange timbres,echange timbre,annonce,annonce timbres,forum timbres,forum echange timbre,1849,2005">
Guppy71
Petite info supplémenataire, j'ai installé EasyPHP1-8 et lorsque je reviens à EasyPHP1-7 je n'ai plus ces problèmes ??
Guppy71
Fais un exit(); après ton header...
Et vire les ?><? (à la ligne 11 et 22 sur le forum : ca correspond à ce que tu appelles un "blanc") qui ne sert à rien dans ton code à part inclure un retour chariot qui va refaire buguer ton truc.
Et pense au BB-Code, t'es relou à ne jamais l'utiliser.
J'ai fait ce que tu m'as dit (exit() et virer ?><?) mais ça ne change rien, désolé
Guppy71
Quelle est ton erreur complète ?
(la je viens de voir que ton PHP ne comporte pas qu'un seul header : à chaque header, tu dois faire un exit();)
Mais a priori, le header que tu cherches à faire se fait dans bandeau_gauche-collec.php.
Mais tu ne peux pas faire de header dans ce fichier. En effet, a priori, ce fichier est inclu dans du HTML de accueil-collection.php (via ton require_once), or je t'ai dis qu'on ne doit pas afficher de HTML avant de faire un header.
OK je vais voir comment modifier, mais comment expliquer que dans la version précédente de mon EasyPHP je n'avais pas ce problème ?
d'autre part ça m'oblige, je pense, à mettre ces scripts sur touttes les pages concernées donc je perds tout l'intérêt d'avoir un bandeau par "include" (il ne restera que des liens sur le bandeau)
Y a t-il une autre solution ?
Guppy71
Ben tu dois mettre tout ton PHP avant ton HTML.
C'est aussi simple que cela.
Et si tu n'avais pas d'erreur avant, c'est que ton EasyPHP était configuré en mode gentil et ne couinait pas sur certaines erreurs.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: