Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme Mini Chat

    31 décembre 2005 à 8:24:15

    Bonjour à tous,

    J'ai fait le TP minichat bien que j'ai coder 4 lignes et que je suis rester coller :p mais bon, j'ai regarder la correction niquel.
    Je l'ais fait avec la correction et la quand je le test, il ne m'affiche rien du tout. Alors j'ai pris celui de M@teo et j'ai fait pareil mais il n'affiche rien lui aussi. En revanche je travail en local ça change quelque chose ?
    Je vous passe mon code dèsfois que ^^ on ne sait jamais.

    Citation : Mini chat

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Mini chat</title>
    </head>

    <body>



    <?php
    if (isset ($_POST['pseudo']) AND isset($_POST['messages']))//Si les variable éxistes
    {
    if ($_POST['pseudo'] != NULL AND $_POST['messages'] != NULL)//Si on a quelque chose à enregistrer
    {
    // On ouvre mysql
    mysql_connect ("localhost","root","");
    mysql_select_db ("test");

    $messages = htmlentities ($_POST['messages']);
    $pseudo = htmlentities ($_POST['pseudo']);

    mysql_query ("INSERT INTO minichat VALUES('',$pseudo','$messages')");
    mysql_close ();
    }
    }
    ?>




    <FORM action="minichat.php" method="post">
    Pseudo : <INPUT type="text" name="pseudo"><br>
    Messages : <INPUT type="text" name="messages"><br>
    <INPUT type="submit" value="Envoyer"></FORM>




    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("test");
    $reponses = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
    mysql_close();
    while ($donnees = mysql_fetch_array ($reponses))
    {
    ?>



    <br>
    <?php echo $donnees['pseudo']; ?> : <?php echo $donnees['messages']; ?>




    <br>
    <?php
    } //Fin de la boucle du While
    ?>
    </body>
    </html>


    Voila, j'esperes que vous pourrez m'aidez. ^^
    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2005 à 8:44:14

      Salut,

      Déjà c'est mieux en urilisant les balises codes php

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <title>Mini chat</title>
      </head>

      <body>



      <?php
      if (isset ($_POST['pseudo']) AND isset($_POST['messages']))//Si les variable éxistes
      {
      if ($_POST['pseudo'] != NULL AND $_POST['messages'] != NULL)//Si on a quelque chose à enregistrer
      {
      // On ouvre mysql
      mysql_connect ("localhost","root","");
      mysql_select_db ("test");

      $messages = htmlentities ($_POST['messages']);
      $pseudo = htmlentities ($_POST['pseudo']);

      mysql_query ("INSERT INTO minichat VALUES('',$pseudo','$messages')");
      mysql_close ();
      }
      }
      ?>




      <FORM action="minichat.php" method="post">
      Pseudo : <INPUT type="text" name="pseudo"><br>
      Messages : <INPUT type="text" name="messages"><br>
      <INPUT type="submit" value="Envoyer"></FORM>




      <?php
      mysql_connect("localhost","root","");
      mysql_select_db("test");
      $reponses = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");
      mysql_close();
      while ($donnees = mysql_fetch_array ($reponses))
      {
      ?>



      <br>
      <?php echo $donnees['pseudo']; ?> : <?php echo $donnees['messages']; ?>




      <br>
      <?php
      } //Fin de la boucle du While
      ?>
      </body>
      </html>


      Tu as une erreur à la ligne 24 il te maque un ' avant $pseudo ; la version corrigée :
      mysql_query ("INSERT INTO minichat VALUES('','$pseudo','$messages')");


      Je ne sais pas si c'est la seule, mais je n'ai rien vu d'autre pour l'instant : teste déjà ça et tiens nous au courant du résultat !
      • Partager sur Facebook
      • Partager sur Twitter
        31 décembre 2005 à 9:08:59

        Ok, je vais tester merci, de ton aide mec.
        Heu je l'avais déjà changer et ça ne marche pas ^^ désolé
        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2005 à 13:13:01

          Bonjour,

          Je parie que tu as dans ton message une apostrophe :p

          Utilise addslashes()


          <?php

          // ...

          $messages = addslashes(htmlentities($_POST['messages']));
          $pseudo = addslashes(htmlentities($_POST['pseudo']));

          // ...

          ?>


          Cela échappera les apostrophes (et les antislash) et les faisant précéder d'un antislash \

          Ce qui donnera comme requête MySQL (par exemple)
          INSERT INTO minichat VALUES('','scorpio','Je m\'appelle scorpio')

          au lieu de
          INSERT INTO minichat VALUES('','scorpio','Je m'appelle scorpio')
          qui pose problème comme tu vois

          :)


          PS : pourquoi mets-tu un "s" au champ "messages" ? Il n'y a qu'un seul message à la fois, non ? :p *sort*
          • Partager sur Facebook
          • Partager sur Twitter

          Probleme Mini Chat

          × 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