Probleme demarrage session

Bonjour,
je cherche a démarrer une session après identification de l'administrateur du site, pour eviter que l'on puisse accéder à une page de l'admin sans s'identifier, seulement j'ai un message d'erreur sur la ligne session_start(). J'ai parcouru les forum, il parle bien des caractères envoyer au navigateur, mais j'ai bien vérifié et il n'y a aucun espace ni texte avant ma fonction.
je vous mets l'erreur et le script, si vous avez une idée, merci beaucoup..

<?php include ("../connexion.php");
if($_POST["login"] != "" && $_POST["password"] != "")
{
$login = $_POST["login"] ;
$pass = $_POST["password"] ;
$sql = "
SELECT *
FROM user
WHERE user_login = '".$login."'
AND user_password = '".$pass."'
" ;
$requete = mysql_query($sql, $connexion);
$result = mysql_fetch_object($requete);
if(is_object($result))
{
session_start();
$_SESSION["login"] = $login;
?>
<script language="javascript">
window.location.replace("compteur.html");
</script>
<?php
}//fin if
//sinon on retourne à la page d'inscription
else
{
?>
<script language="javascript">
window.location.replace("../index.html");
</script>
<?php
}//fin else
}
?>

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Users\thibault\Documents\ZMWS\_web.zmwsc\LCC\admin\index.php:1) in C:\Users\thibault\Documents\ZMWS\_web.zmwsc\LCC\admin\index.php on line 16

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Users\thibault\Documents\ZMWS\_web.zmwsc\LCC\admin\index.php:1) in C:\Users\thibault\Documents\ZMWS\_web.zmwsc\LCC\admin\index.php on line 16
Configuration: Windows Vista
Firefox 3.0.4

10 réponses

  1. salut,

    est ce que dans le fichier ../connexion.php il n'y a pas un echo quelconque
    1. non aucun echo et aucune ligne de sautée ...

      <?
      $connexion = mysql_connect("localhost","root","");
      mysql_select_db("lcc",$connexion);
      ?>
      1. à la place de:

        <?php include ("../connexion.php");

        essayes:

        <?php
         include ("../connexion.php"); 


        pas sur la même ligne

        ??
    2. Bonjour

      Travailles-tu avec Notepad ? Si oui, vérifie que ton script est bien sauvegardé en ANSI
      1. non je ne developpe pas sur notepad, mais sur dream CS3 ... g essayé la soluce de alain_42, de mettre le include sur une ligne différente mais sa ne change rien, toujours la meme erreur .
        1. Regarde avec un éditeur hexa le début de ton fichier index.php pour contrôler la présence d'éventuels caractères spéciaux invisibles
          1. j'ai suivi ton conseil toto, seulement une fois que j'ai ouvert le fichier avec EditHexa, je sais pas a quoi correspond un caractere vide.. si tu peux mexpliker quelques notions merci
            1. Est-ce que ton fichier commence bien par 3C 3F 70 ?
              Si non, peux-tu recopier les 10 premiers octets ?
              1. Pour info
                3C = code ASCII de <
                3F = code ASCII de ?
                70 = code ASCII de p
                1. Oui effectivement il y avait 3 caractere avant mon "<?php". Est que tu sais ce qui peut provoquer ces caractères, et pourquoi il ne sont pas afficher sous dream ??

                  J'avais les 3 caractères suivant : EF BB BF

                  Encore merci pour ton aide je vais pouvoir continuer mes sessions.
                  1. Je n'ai pas de bonne réponse à te donner, hélas. Peut-être qu'un passant t'en donnera une