Message Err suivant : Cannot modify header information - headers already sent by

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Message Err suivant : Cannot modify header information - headers already sent by

par @rthur » 02 sept. 2008, 11:47

en plus je sais que je peux faire des recherche avec le message d'erreur. :wink:
Au moins tu n'as pas perdu ta journée, rechercher un message d'erreur dans Google en le mettant entre guillemets (pour faire une recherche du message exact) te sauvera de nombreuses fois ;)

par DBU » 02 sept. 2008, 11:29

Oh merci mon Bon roy Arthur,

Je suis désolé de ne pas avoir toujours les bons reflex, je pratique souvent les recherche quand je sais ce que je cherche mais sur un message erreur pas eu le reflex. :lol:

Et je te remercie pour ton éclairage car j'étais dans le noir, j'avais résolu mon problème intuitivement mais je comprenais pas pourquoi maintenant c'est bon et en plus je sais que je peux faire des recherche avec le message d'erreur. :wink:

je te fais l'allégeance mon bon roy et encore merci.

Promis je le ferai plus enfin j'essayerai... :)

humour mis à part merci Arthur.

par @rthur » 02 sept. 2008, 11:05

Bonjour,

Ma remarque va paraitre désagréable mais c'est vraiment pénible les gens qui ne prennent pas la peine de faire une recherche sur PHPfrance, Google ou dans la FAQ...

http://www.phpfrance.com/forums/voir_sujet-47.php
http://www.google.comhttp://www.google. ... dy+sent+by"
http://www.commentcamarche.net/faq/suje ... dy-sent-by
http://matthieu.media-box.net/index.php ... dy-sent-by
...

par DBU » 02 sept. 2008, 10:22

Voici une copie du msg err, par contre le numéro de ligne change.

A priori c'est l'argument order de la ligne de cde qui pose problème mais je ne comprends pas pourquoi et quel est le probleme.


Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\EasyPHP 2.0b1\www\affichInfo.php:89) in C:\Program Files\EasyPHP 2.0b1\www\affichInfo.php on line 116

C'est la fonction setcookie qui provoque le message quand j'utilise la fonction ou que j'intégre au prog la fonction.
Mais pourquoi ??? :?

je confirme il y a incompatibilité entre les 2. j'ai fais le test. Si quelqu'un peut me dire pourquoi ?

par orgerix » 02 sept. 2008, 10:17

Quel est le message d'erreur, à quelle ligne apparait il ?

Message Err suivant : Cannot modify header information - hea

par DBU » 02 sept. 2008, 10:01

Bonjour,

J'ai actuellement un message d'erreur qui apparait uniquement sur un actualiser de la page.
a l'affichage initiale de la page pas de souci.


et cela ne se produit que avec l'utilisation d'une de mes fonctions voir ci dessous pour la fonction.

et fonctionne correctement sur une page test vide.


<?php
 function ListeDeroulante($NomChampList, $NomTable, $Nomcolonne,$Styletexte )
{
   // Ouverture de la connexion
   include ('misc.inc');
   //  global  $connexion, $selectdb;
   $connexion_ListeDeroulante = mysql_connect ($host,$user,$password) or die ("Connexion au SERVEUR Impossible...");
   $selectdb_ListeDeroulante = mysql_select_db($bdd) or die ("La base de donnée ne peut être selectionnée...");
   $Sql_ListeDeroulante = 'SELECT DISTINCT `'.$Nomcolonne.'` FROM `'.$NomTable.'`';
   $req_ListeDeroulante = mysql_query($Sql_ListeDeroulante)or die('Erreur SQL !<br>'.$Sql_ListeDeroulante.'<br>'.mysql_error());
   echo '<select size="1" name='.$NomChampList.' class='.$Styletexte.'>';
   echo '<option selected value="*">*</option>';
   while ($row_ListeDeroulante2 = mysql_fetch_assoc($req_ListeDeroulante)) {
      echo '<option value='.$row_ListeDeroulante2["$Nomcolonne"].'>'.$row_ListeDeroulante2["$Nomcolonne"].'</option>';
   }
   echo '</select>';

// Fermeture de la connexion
   mysql_free_result($req_ListeDeroulante);
   mysql_close($connexion_ListeDeroulante);
}
?>

la pge ou j'appelle la fonction :
<body>

<table width=400px border=0>
    <form method="POST"  class="texte" action="search_BDD.php" >
    <?php
    // Filtre la base
    // verifier la présence d'un cookie pour la colonne et l'ordre de tri.
    if (!empty($_COOKIE["BDUAnnuaire_search"])) $SSsearch = $_COOKIE["BDUAnnuaire_search"]; else $SSsearch = "*";
     echo '<input class="Texte" type="text" name="inputsearch" value="'.$SSsearch.'">';
     echo '<input class="Texte" type="submit" value="Recherche" onClick="window.location.href=\''.'index.php?page=fiche\'"><input class="Texte" type="hidden" name="chamcache" value="1">';
   
 ?>
</form>
 <?php include ('fonctions.inc.php'); ListeDeroulante ("FiltreService", "tb_annu", "annuService", "TexteListDeroulante"); ?>

</table>
<table width=985px border=1 cellpadding=1px cellspacing=0px bordercolor="#FFFFFF" bgcolor="#FF0000" left: 10px >
  <tr>
    <td width=150px valign="top" class="Titre" >
    <?php 
    if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
        $order = htmlentities($_GET["order"]);
        if ($order == "nomasc") $order = "nomdesc"; else $order = "nomasc";
    }else $order = "nomasc";
    echo '<img src="/image/fleche.JPG" width="14" height="14" onClick="window.location.href=\''.'index.php?page=fiche&order='.$order.'\'">'; 
    ?>
    Nom :
    </td>
    <td width=90px valign="top" class="Titre" > 
    <?php 
    if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
        $order = htmlentities($_GET["order"]);
        if ($order == "prenomasc") $order = "prenomdesc"; else $order = "prenomasc";
    }else $order = "prenomasc";
    echo '<img src="/image/fleche.JPG" width="14" height="14" onClick="window.location.href=\''.'index.php?page=fiche&order='.$order.'\'">'; 
    ?>
     Prenom :
    </td>
    <td width=90px valign="top" class="Titre" >
    <?php 
    if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
        $order = htmlentities($_GET["order"]);
        if ($order == "serviceasc") $order = "servicedesc"; else $order = "serviceasc";
    }else $order = "serviceasc";
    echo '<img src="/image/fleche.JPG" width="14" height="14" onClick="window.location.href=\''.'index.php?page=fiche&order='.$order.'\'">'; 
    ?>
    Service :
    </td>
    <td width=98px valign="top" class="Titre" >Tel Bureau :</td>
    <td width=50px valign="top" class="Titre" >Poste :</td>
    <td width=100px valign="top" class="Titre" >Tel Mobile :</td>
    <td width=100px valign="top" class="Titre" >
    <?php 
    if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
        $order = htmlentities($_GET["order"]);
        if ($order == "projetasc") $order = "projetdesc"; else $order = "projetasc";
    }else $order = "projetasc";
    echo '<img src="/image/fleche.JPG" width="14" height="14" onClick="window.location.href=\''.'index.php?page=fiche&order='.$order.'\'">'; 
    ?>
    Projet :
    <?php //ListeDeroulante ("FiltreProjet", "tb_annu", "annuProjet", "TexteListDeroulante"); ?>
    </td>
    <td width=97px valign="top" class="Titre" >
    <?php 
    if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
        $order = htmlentities($_GET["order"]);
        if ($order == "localisationasc") $order = "localisationdesc"; else $order = "localisationasc";
    }else $order = "localisationasc";
    echo '<img src="/image/fleche.JPG" width="14" height="14" onClick="window.location.href=\''.'index.php?page=fiche&order='.$order.'\'">'; 
    ?>
    Loc... :
     <?php //ListeDeroulante ("FiltreLocalisation", "tb_annu", "annuLocalisation", "TexteListDeroulante"); ?>
    </td>
    <td  valign="top" class="Titre" >Email :</td>
  </tr>
</table>
<?php   
  // Ouverture de la connexion
     include ('misc.inc');
 //  global  $connexion, $selectdb;
   $connexion = mysql_connect ($host,$user,$password) or die ("Connexion au SERVEUR Impossible...");
   $selectdb = mysql_select_db($bdd) or die ("La base de donnée ne peut être selectionnée...");
?>
<div id="Layer1"   style="height:310px; overflow:scroll; width:1010px">
<table width=990px border="1" cellpadding=1px cellspacing=0px bgcolor="#FFFFFF" left: 5px >
<?Php
// verifier la présence d'un cookie pour la colonne et l'ordre de tri.
if (isset($_GET["order"]) && ($_GET["order"]!="") ) {
 $order = htmlentities($_GET["order"]);
   if ($order == "nomdesc") {
     $SSorder = 'order by `annuNom` desc';
     SetCookie("BDUAnnuaire_order", "nomdesc", time()+3600);
   }
   if ($order == "nomasc") {
     $SSorder = 'order by `annuNom` asc';
     SetCookie("BDUAnnuaire_order", "nomasc", time()+3600);
  }
   if ($order == "prenomasc") {
     $SSorder = 'order by `annuPrenom` asc';
     SetCookie("BDUAnnuaire_order", "prenomasc", time()+3600);
  }

   if ($order == "prenomdesc") {
     $SSorder = 'order by `annuPrenom` desc';
     SetCookie("BDUAnnuaire_order", "prenomdesc", time()+3600);
  }
   if ($order == "servicedesc") {
     $SSorder = 'order by `annuService` desc';
     SetCookie("BDUAnnuaire_order", "servicedesc", time()+3600);
  }
   if ($order == "serviceasc") {
     $SSorder = 'order by `annuService` asc';
     SetCookie("BDUAnnuaire_order", "serviceasc", time()+3600);
  }
   if ($order == "projetdesc") {
     $SSorder = 'order by `annuProjet` desc';
     SetCookie("BDUAnnuaire_order", "projetdesc", time()+3600);
  }
   if ($order == "projetasc") {
     $SSorder = 'order by `annuProjet` asc';
     SetCookie("BDUAnnuaire_order", "projetasc", time()+3600);
  }
   if ($order == "localisationdesc") {
     $SSorder = 'order by `annuLocalisation` desc';
     SetCookie("BDUAnnuaire_order", "localisationdesc", time()+3600);
  }
   if ($order == "localisationasc") {
     $SSorder = 'order by `annuLocalisation` asc';
     SetCookie("BDUAnnuaire_order", "localisationasc", time()+3600);
  }
 }
 else {
    if (!empty($_COOKIE["BDUAnnuaire_order"]))  {
     $liste = $_COOKIE["BDUAnnuaire_order"]; // Champs séparés par ; , on en fait un tableau
     $order = trim($liste);

   if ($order == "nomdesc") $SSorder = 'order by `annuNom` desc';
   if ($order == "nomasc") $SSorder = 'order by `annuNom` asc';
 
   if ($order == "prenomdesc") $SSorder = 'order by `annuPrenom` desc';
   if ($order == "prenomasc") $SSorder = 'order by `annuPrenom` asc';

   if ($order == "servicedesc") $SSorder = 'order by `annuService` desc';
   if ($order == "serviceasc") $SSorder = 'order by `annuService` asc';

   if ($order == "projetdesc") $SSorder = 'order by `annuProjet` desc';
   if ($order == "projetasc") $SSorder = 'order by `annuProjet` asc';

   if ($order == "localisationdesc") $SSorder = 'order by `annuLocalisation` desc';
   if ($order == "localisationasc") $SSorder = 'order by `annuLocalisation` asc';

       }
    else $SSorder = 'order by `annuNom` asc';
 }

// Selectionne tout dans la base et trier
// echo $SSorder;
  if ($SSsearch == "*")
     $sql = 'SELECT * FROM `tb_annu` '.$SSorder;
  else
  $sql = 'SELECT * FROM `tb_annu` where `annuNom` like \''.$SSsearch.'%\' or `annuPrenom` like \''.$SSsearch.'%\' or `annuService` like \''.$SSsearch.'%\'  '.$SSorder;

  $req = mysql_query($sql)or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  while ($row = mysql_fetch_assoc($req)) {
     echo "<tr>";
     echo '<td width=150px class="Texte" ><input type="button" value="'.$row["annuNom"].'" onClick="window.location.href=\''.'index.php?page=fiche&code='.$row["code"].'&order='.$order.'\'" style="width:148px;" class="TexteBouton"></td>';
     echo '<td width=92px class="Texte" >'.$row["annuPrenom"].'</td>';
     echo '<td width=90px class="Texte" >'.$row["annuService"].'</td>';
     echo '<td width=100px class="Texte" >'.$row["annuTelbureau"].'</td>';
     echo '<td width=50px class="Texte" >'.$row["annuPOSTEINT"].'</td>';
     echo '<td width=100px class="Texte" >'.$row["annuTelmobile"].'</td>';
     echo '<td width=100px class="Texte" >'.$row["annuProjet"].'</td>';
     echo '<td width=100px class="Texte" >'.$row["annuLocalisation"].'</td>';  
     echo '<td  class="Texte" ><a href="mailto:'.$row["annuEmail"].'">'.$row["annuEmail"].'</a></td>';
     echo "</tr>";
  }
   mysql_free_result($req);
   mysql_close($connexion);
?>
  </table>
</div>
</body>


Merci d'avance pour votre aide et temps passé.