Function start_session()

Bonjour,
je vais ouvrir une session avec le code php suivant:
if($login=''.$log.'' and $passwd=''.$pass.'')
{

session_start ();
$_SESSION['login'] = $login;
$_SESSION['passwd'] = $passwd;
echo'<a href="liste.php">page</a>';
}
else if($login!=''.$log.'' or $passwd!=''.$pass.'')
{
echo '<body onLoad="alert(\'Collaborateur Non Reconnu \')">';
echo '<meta http-equiv="refresh" content="0;URL=index.html">';

}
mais j'ai l'erreur suivant:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\avlpro1\pass.php:6) in C:\AppServ\www\avlpro1\pass.php on line 39

SVP aidez moi

2 réponses

  1. session_start(); et non session_start ();

    et que represente ta ligne 39 ?
    1. ma ligne 39 represente
      $_SESSION['login'] = $login;
    2. Ton code ne fonctionne toujours pas ?
    3. j'ai effacé les espaces mais toujours rien
    4. session_start ();
      $_SESSION['login'] = $login; <<- cette ligne est la 39 ???
      $_SESSION['passwd'] = $passwd;
      echo'<a href="liste.php">page</a>'; <<-- echo '' a un espace pour fonctionner ^^
    5. oui tout a fait, echo il fonctionne mais toujours j'ai cela:
      Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\avlpro1\pass.php:6) in C:\AppServ\www\avlpro1\pass.php on line 38

      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\avlpro1\pass.php:6) in C:\AppServ\www\avlpro1\pass.php on line 38

      page cela est le lien
  2. Bonjour,

    Essaie comme ça :

    if($login == $log && $passwd == $pass) 
    { 
        session_start(); 
        $_SESSION['login'] = $login; 
        $_SESSION['passwd'] = $passwd; 
        echo'<a href="liste.php">page</a>'; 
    } 
    else 
    { 
    // Ça c'est moche comme façon de faire, mais c'est pas le problème alors je laisse
        echo '<body onLoad="alert(\'Collaborateur Non Reconnu \')">'; 
        echo '<meta http-equiv="refresh" content="0;URL=index.html">'; 
    } 


    Si ça ne marche pas, donne-nous le code source de ta page html générée histoire qu'on puisse lire la fameuse sortie déjà envoyée.

    Xavier
    1. je vois pas de différence avec mon code *-)
    2. Les problèmes de "header already sent" sont plutôt sensibles, et il vaut mieux contrôler l'ensemble du code.
      Donc il vaut mieux donner un bloc à copier-coller qu'une liste d'amélioration à apporter, qui ne nous permettra pas de contrôler l'état final du code ;)