[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. 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
    1. 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
    2. 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
    3. 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. 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. 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. 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