[...] headers already sent [...]

Résolu
Warryur Messages postés 102 Statut Membre -  
Warryur Messages postés 102 Statut Membre -
Bonjour,
J'ai une interface d'administration qui fonctionne en plusieurs pages qui incluent toutes un header par sécurité.
Mais j'obtiens cette erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /header.php on line 2


Voici la ligne concernée :
<?php 
session_start();
htmlspecialchars($input);
htmlentities($input);
addslashes($input);
include ('../includes/config.php');
include ('libs/config.php');
include ('libs/fonctions.php');
?>


Comment résoudre cela ?
Merci d'avance.



--
WaRRyuR!
Tout le monde veut sauver la planètre mais personne ne veut sortir les poubelles...Les papillotes ont du bon ;)

4 réponses

  1. Profil bloqué
     
    Ah j'ai trouvé lol

    Ton erreur n'est pas dans la page header ou autre elle est dans ton index.

    Tu dois mettre un session_start(); avant toute chose, avant ton include.
    1
  2. Profil bloqué
     
    Il faut que tu mettes <?php session_start() ?>

    Avant toute chose !!!

    Même pas tu laisses un espace avant !
    0
    1. Warryur Messages postés 102 Statut Membre 1
       
      <?php session_start() ?> 
      <?php
      error_reporting(0);
      htmlspecialchars($input);
      htmlentities($input);
      addslashes($input);
      include ('../includes/config.php');
      include ('libs/config.php');
      include ('libs/fonctions.php');
      ?>


      J'ai toujours la même erreur :s
      0
    2. Profil bloqué
       
      essaie ça, selon les serveurs ça peut marcher

      <?phpsession_start()?>
      0
    3. Dudu du 07
       
      Si ça ne marche pas essaye
      <?php
      session_start(); ?>
      En mettant le ; à la fin et pas d'espaces entre le <?php et ton session_start
      0
    4. Profil bloqué
       
      Ha oui, autant pour moi, mets ça
      <?php session_start(); ?>
      0
    5. Warryur Messages postés 102 Statut Membre 1
       
      Toujours la même erreur...
      Header.php :
      <?php session_start(); ?>  
      <?php 
      error_reporting(0); 
      htmlspecialchars($input); 
      htmlentities($input); 
      addslashes($input); 
      include ('../includes/config.php'); 
      include ('libs/config.php'); 
      include ('libs/fonctions.php'); 
      ?> 
      
      
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
      
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 
      <head> 
      <title>Administration</title>  
      <meta http-equiv="Content-Language" content="fr" /> 
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
      <link type="text/css" rel="stylesheet" media="screen" href="style.css" /> 
      </head> 
      
      <body> 
      <div id="site"> 
      <div id="header"></div> 
          <div id="sous-header">


      Index.php :
      <?php  
      include 'header.php'; 
      include 'menu.php'; 
      include 'left.php'; 
      include 'right.php'; 
      
      
      
      if($_SESSION['login'] && $_SESSION['login'] == TRUE) 
      { 
      $gm_result = viewinfosperso(); 
      if($gm_result['gmlevel'] >= '2') 
      { 
      
      
      ?> 
      
      
           
      
          
          
                
          
                  <h3>Administration</h3> 
      Contenu index
      0
  3. arthezius Messages postés 3756 Statut Membre 475
     
    <?php 
    session_start(); 
    ?>

    Tu peux mettre autant d'espace que tu veux entre <?php et session_start();, ils ne seront pas envoyer au navigateur. Le PHP est traité côté serveur. Il faut juste qu'il n'y ai aucun echo/print avant session_start();
    De plus, avant <?php il ne doit rien y avoir pas même un espace. Tout caractère s'y trouvant ne sera pas traité côté serveur mais bien par le navigateur.
    « La recherche commence là où s'arrête la connaissance. »
    0
  4. Warryur Messages postés 102 Statut Membre 1
     
    Ça fonctionne !! Merci :DD
    0