[php] erreur header

Bonjour,

un copin ma passé un scrypt d'espace membre

j'ai suivit tout ce quil falait faire mais une fois en local des que je veut me connecté je tombe sur

Warning: Cannot modify header information - headers already sent by (output started at /var/www/traitement-connexion.php:1) in /var/www/traitement-connexion.php on line 36


donc le code de cette page est

<?php
 include('includes/info.php');
 
 if(isset($_POST['pseudo']) && isset($_POST['mot_de_passe']))
 {
	if($_POST['pseudo'] != NULL && $_POST['mot_de_passe'] != NULL)
	{
		connexion_db();
		
		$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
		$mot_de_passe = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe']));
		
		$reponse = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."'") or die (mysql_error());
		$donnees = mysql_fetch_array($reponse);
		$mot_de_passe = sha1($mot_de_passe);
		
		if($donnees['mot_de_passe'] != $mot_de_passe)
		{
			header ('Location: connexion.php?erreur=1') ;
		}
		else if($donnees['mot_de_passe'] == $mot_de_passe)
		{
		if ($donnees['banni'] == 1)
		{
			header('Location: connexion.php?erreur=5');
		}
		else if ($donnees['banni'] == 2)
		{
			header('Location: connexion.php?erreur=6');
		}
		else
		{
		$_SESSION['pseudo'] = $pseudo;
		$_SESSION['id'] = $donnees['id'];
		$_SESSION['rang'] = $donnees['rang'];
		header ('Location: index.php');
		}
		}
		if(isset($_POST['cookie']))
		{
			$cookie_expire = time() + 30*24*3600;
			setcookie('id',''.$_SESSION['id'].'', $cookie_expire);
			setcookie('pseudo',''.$_COOKIE['pseudo'].'', $cookie_expire);
		}
		
	}
	else if($_POST['pseudo'] == NULL)
	{
		header('Location: connexion.php?erreur=2');
	}
	else if($_POST['mot_de_passe'] == NULL)
	{
		header('Location: connexion.php?erreur=3');
	}
}
?>


pouvez - vous me dire comment resoudre cette erreur sa fait deux jours que je suis desus

cordialement minibn59
Configuration: Linux
Firefox 2.0.0.11

7 réponses

  1. un header doit toujours etre placé en début de page avant tout envoi au navigateur
    1. en le placent en debut de page toujour la méme erreur

      peut-tu m'envoyé le codeavec ou tu placerait le header

      merci

      cordialement minibn59
      1. je le mettrai avant le include MAIS !
        j'ai bien regardé ton code et j'ai remarqué qu'à chaque fois, il indiquait un redirection.
        Alors voila ce que je te propose :
        au début de ton code php tu insère :
        function redir($page) {
          echo "<script>location.href=$page</script>";}
        

        et à la place de chaque header tu met :
        redir("<la page à atteindre>")
        
        1. bah j'ai fait ce que tu ma dit

          donc j'arrive sur une page blanche : /

          que faire ???

          cordialement minibn59
          1. tu as peut-etre mal compris...
            prenons l'exemple du header que tu a souligné :
            header ('Location: index.php');

            le code à insérer à la place sera :
            redir("index.php")

            1. non j'ai toujour une page blannche en métant exactement le code que tu ma donné
              function redir($page) {
                echo "<script>location.href=$page</script>";}

              ......
              redir("index.php");


              en fesant j'ai toujour une page blache sur firefox et sur gestionnaire de fichier debian

              cordiallement benoit