Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme Code PHP

Warning: Cannot modify header information

Sujet résolu
    21 juillet 2006 à 13:31:59

    Bonjour,
    Je voudrais créer un cookie qui mémorise le pseudo
    Voila mon code :
    <?
    require "config.php";

    //J'identifie les variables
    if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
    else      $pseudo="";

    if(isset($_POST['mess']))      $mess = $_POST['mess'];
    else      $mess="";


           

    if(empty($pseudo) OR empty($mess))

        {
            $pseudo=htmlentities($pseudo);
    $mess=htmlentities($mess);
       $avertissement = 'Tous les champs requis doivent être remplis';
        $redirection = 'javascript:history.go(-1)';
            $nom = 'Retour';
        }

     else     
        {
           
    $pseudo=htmlentities($pseudo);
    $mess=htmlentities($mess);

                    if (!empty($_POST['cookie']) AND $_POST['cookie'] == "on" )
            {              
                   
                    setcookie('pseudo', '".$pseudo."', time()+3600*24*1000, '/', 'url', 0);

            }


    J'obtiens l'erreur :
    Warning: Cannot modify header information - headers already sent by (output started at ....
    Je pense qu'il faut réorganiser le code, mais je ne sais pas trop comment...
    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      21 juillet 2006 à 13:41:14

      Citation : Pas de titre

      Warning: Cannot modify header information - headers already sent by (output started at ....

      tu as coupé la partie importante :p

      ça vient surement du setcookie... il ne faut pas que quelque chose ai été envoyé au navigateur avant... et ce que tu as couper renseigne sur l'endroit où cet envoie à été effectué (fichier et ligne)... N'y a-t-il pas de echo dans ton fichier config.php ou avant??
      • Partager sur Facebook
      • Partager sur Twitter
        21 juillet 2006 à 13:44:30

        Il y a déjà du Code xHtml d'affiché avant le setcookie ...

        Place ce dode au début de page ;) avant toute srtie xHtml :p
        • Partager sur Facebook
        • Partager sur Twitter
          21 juillet 2006 à 13:46:25

          Dans config.php il n'y a pas d'echo c'est certain ! ^^
          Voila l'erreur complete :
          Warning: Cannot modify header information - headers already sent by (output started at /mnt/114/sdb/6/f/eisti2008/Guigui/config.php:1) in /mnt/114/sdb/6/f/eisti2008/Guigui/chat.php on line 33

          Je ne sais pas si c'est utile mais voici le début de la page qui me permet d'acceder au code avant (chat.php)

          <?php
          require "config.php";
                  mysql_connect("$host", "$user", "$pass");
                  mysql_select_db("$bdd");

          $requete = mysql_query("SELECT login,mess,timestamp FROM chat order by timestamp desc LIMIT 0,30");

          function Parity($int)

          {

           if(fmod($int, 2) == 0) {

            return 1;   

           } else {

            return 0;

           }

          }

           $i = 0;

          ?>
          <div align="center"><font face="verdana" size="3">Forum</font></div>
          <hr align="center" width="50%">
          <?php while($data = mysql_fetch_array($requete)){
          if (Parity($i)) {
              $bgc = "#CCCCCC";
             } else {
              $bgc = "#999999";
             }
           ?>

          <div align="center">
          <table width="95%" border="1" cellspacing="0" cellpadding="0" bgcolor="<?php echo "$bgc"; ?>">
           
            <tr>
              <td width="21%">
                <?php
                 echo '<div align="center"><font color="black" face="Verdana" size="2"><b>'.$data['login'].'</b></div>'; ?>
               </td>
              <td width="57%"><?php echo nl2br('<div align="justify"><font color="black" face="Verdana" size="2">'.$data['mess'].'</font></div>'); ?></td>
              <td width="22%"><?php echo '<div align="center"><font color="black" face="Verdana" size="1"> '.$data['timestamp'].'</font></div>'; ?></td>
            </tr>
           </table>
           <?php $i++;  ?>

            <?php
             
          mysql_close();
          } ?>

          <p>&nbsp;</p><center>
          <form method="POST" action="chat.php">

          <table width="30%" border="0" bgcolor="#999999">
                            <tr>
                              <td width="22%"><font color="#FFFFFF" size="-1" face="verdana">Pseudo</font></td>
                              <td width="20%">&nbsp;</td>
                              <td width="58%"><div align="left"><input type="text" name="pseudo" width="160" maxlength="12"
                                          <?php
                                          if (isset($_COOKIE['pseudo'])) //Si le cookie existe on pret remplie le nom
                                          {
                                                  echo "value=\"".$_COOKIE['pseudo']."\"" ;
                                          }
                                          ?>/>
          • Partager sur Facebook
          • Partager sur Twitter
            21 juillet 2006 à 13:48:49

            setcookies s'utilise avant tout code xhtml pareil pour header
            • Partager sur Facebook
            • Partager sur Twitter
              21 juillet 2006 à 13:48:58

              essaye ca
              @require('config.php');
              //J'identifie les variables
              if(isset($_POST['pseudo']))
                      { // Tu na pas mi ca
                              $pseudo = $_POST['pseudo'];
                      } // ni ceci...
              else
                      { // ni ceci...
                              $pseudo = "";
                      } // ni ceci...

              if(isset($_POST['mess']))
                      {
                              $mess = $_POST['mess'];
                      }
              else
                      {
                              $mess = "";
                      }


              if(empty($pseudo) && empty($mess))
                  {
                              $pseudo = htmlentities($pseudo);
                              $mess = htmlentities($mess);
                              $avertissement = 'Tous les champs requis doivent être remplis';
                              $redirection = 'javascript:history.go(-1)';
                              $nom = 'Retour';
                  }
              else     
                  {
                     
              $pseudo = htmlentities($pseudo);
              $mess = htmlentities($mess);

              if(!empty($_POST['cookie']) AND $_POST['cookie'] == "on" )
                      {             
                      setcookie('pseudo', ''.$pseudo.'', time()+3600*24*1000, '/', 'url', 0);
                      }
              • Partager sur Facebook
              • Partager sur Twitter
                21 juillet 2006 à 13:53:44

                Pacman > J'ai essayé ton code mais hélas j'ai toujours la meme erreur...

                Et je ne vois pas de html avant le :

                setcookie('pseudo', ''.$pseudo.'', time()+3600*24*1000, '/', 'url', 0);
                • Partager sur Facebook
                • Partager sur Twitter
                  21 juillet 2006 à 13:56:38

                  Y a-t-il du Code xHtml dans le fichier config.php ?
                  Ou un espace en début de fichier ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 juillet 2006 à 13:59:03

                    Voila mon code de config.php a la premiere ligne :
                         <?php 
                         
                        // l'adresse de votre serveur php 
                        $host = 'sql.free.fr';   
                         
                        // votre login : root sur localhost 
                        $user = '*******';   
                         
                       // votre pass : vide sur localhost 
                        $pass = '*******';   
                         
                        // le nom de la base de données 
                        $bdd = '*******'
                               
                     
                        $url = '$PHP_SELF';   
                       ?> 
                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 juillet 2006 à 14:46:25

                      Vérifie tes scripts et fait la chasse aux caractères blancs... un bête espace et zou t'es dans le jus !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 juillet 2006 à 14:58:18

                        Voila mon nouveau code de config.php :

                             <?php 
                            $host='sql.free.fr';   
                            $user='******';   
                            $pass='******';   
                            $bdd='*******'
                            $url='$PHP_SELF';   
                        ?> 

                        Je ne vois pas trop où je pourrais encore supprimer des espaces...Pourtant j'ai toujours la meme erreur
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 juillet 2006 à 15:09:35

                          Merci je n'ai plus le message d'erreur :)
                          Je dois comprendre maintenant pourquoi le cookie ne fonctionne pas XD
                          Merci a tous !
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 juillet 2006 à 15:51:39

                            Si je serais tout, je cacherais mon password.... xD
                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 juillet 2006 à 17:15:03

                              ton: Warning: Cannot modify header information

                              vien de tes cookies créé apres du code html :s
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 juillet 2006 à 0:27:09

                                Mouarf... XD
                                Merci pour le pass, on va dire que c'est la fatigue ^^
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Probleme Code PHP

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown