[PHP] - Sessions et redirections

Résolu
Bonjour à tous !
Ma page permet d'envoyer un mail. Voici en gros le corps de ma page :
<?php
   session_start();

   // récupérations des données via $_GET et base de données 

   // rédaction du message 
   // au format html avec variables php
   // et variables de sessions
   // et ajout de pièces jointes

  // envoi du mail

  // redirection vers une autre page en javascript et non avec header(Location ....)

?>
Le mail est correctement envoyé au destinataire (avec pièces jointes) mais je n'ai pas de redirection et j'ai ce message d'erreur :
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
J'ai regardé dans de nombreux forum, car le problème semble bien répandu ; mais je ne comprends la signification de mon erreur, dans mon cas
Configuration: Windows XP
Firefox 3.0.6

7 réponses

  1. Ton message veux dire que tu dois avoir du code html avant le code php
    session_start();

    Celui-ci doit être mis en tout premier sur la page.
    0
    1. Pourtant le début de mon fichier commence comme ceci :
      <?php
      	session_start();
      
      	//Recuperation des donnees du devis
      		require 'config.php';
      		$req = "Select ....;
      		$connexion = @mysql_connect("$host","$login","$password");
      	...
      
      ?>
      0
      1. Celui n'est pas inclu dans un autre? T'a pas des espaces avant? j'ai déjà lu que ça pouvais poser problème.
        0
        1. oui j'avais vu ça aussi mais rien y fait !!
          Ça te dérange si je poste mon code source sur un de mes sites pour trouver mon erreur ?
          0
          1. Parmi les causes classiques, si tu utilises Notepad++ et que tu écris en UTF-8, il faut bien enregistrer en UTF-8 SANS BOM sinon il insère un caractère invisible (BOM) avant le <
            0
            1. Comment "enregistrer en UTF-8 SANS BOM" ?
              0
            2. @ben85350Je n'ai pas de notepad++ sous la main, mais ça apparaît sans doute dans un menu qui s'appelle "encodage" ou "jeu de caractères" ou quelque chose comme ça.
              0
            3. @le pèreALELOUIA mon père !!
              Je vois ça, je teste et je te tiens au courant !!
              0
            4. @ben85350Problème résolu en enregistrant en UTF-8 (sans BOM)
              Merci à tous pour votre aide !
              0
          2. il es probable que cela nienne du faite que tu ne referme pas ta session
            0
            1. J'ai testé en refermant la session mais ça ne change rien
              0
          3. Salut,

            Moi je vérifie toujours qu'il n'y pas déjà une session en cours

            essaye donc avec ça :
            if (!isset($_SESSION)) {
              session_start();
            }
            0