Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème tuto sdz

tp minichat

    14 février 2007 à 23:24:47

    Bonjour tout le monde!
    je suis actuellement en train d'apprendre le php grace au magnifique Site du Zéro, mais j'ai un problème (surement très facile) que je n'ai pas réussi à résoudre. Je vous avoue que je n'ai pas regardé les 763 pages de messages du forum :-° pour voir si cette question avait déjà été posée. Et comme la page de recherche est en cours de rénovation (ou d'amélioration), je vais peut-etre répéter un problème déjà posé.
    Enfin bon, voici mon problème : lors de la réalisation du Tp sur le mini-chat, j'ai un problème avec la ligne du "while" pour l'affichage des messages. J'ai pourtant recopier celle donnée par mateo21, fais un copier coller entier de sa version mais rien n'y fait. j'aimerais savoir d'où le problème peut venir svp.

    Merci d'avance. :)
    • Partager sur Facebook
    • Partager sur Twitter
      14 février 2007 à 23:36:21

      Salut,

      on peut avoir ton code s'il te plait ? Merci :)
      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2007 à 7:17:21

        // Puis on fait une boucle pour afficher tous les résultats :
        while ($donnees = mysql_fetch_array($reponse))
        {
           echo '<p><strong>'.$donnees['pseudo'].'</strong> :  '.$donnees['message'].' </p>';
        }
        • Partager sur Facebook
        • Partager sur Twitter
          28 février 2007 à 9:14:29

          Excusez moi pour le temps de réponse un peu lent mais j'étais parti en vacances... :)
          Voici donc mon code :


          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

          <head>
          <title> Mini-Chat</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          </head>
          <style type="text/css">
          form
          {
          text-align : center;
          }
          </style>
          <body>

          <?php

          if(isset($_POST['message']) AND isset($_POST['pseudo'])) // si les variables message et pseudo existent
          {if($_POST['message'] != NULL AND $_POST['pseudo'] != NULL) // si les variables message et pseudo ne sont pas vides
          {
          mysql_connect("localhost", "root", ""); // connexion à Mysql
          mysql_select_db("test"); // selection de la BDD test

          // on utilise htmlentities pour eviter les problemes au cas ou des batards rentre du texte html dans les cases
          $message = htmlentities ($_POST['message']);
          $pseudo = htmlentities ($_POST['pseudo']);
          mysql_query("INSERT INTO mini-chat VALUES('', '$pseudo', '$message')"); // On ajoute une entrée avec mysql_query

          mysql_close(); // on se deconnecte de mysql
          }
          }
          // on va afficher le formulaire
          ?>


          <form action="index.php" method="post">
          <p>
          Pseudo : <input type="text" name="pseudo" /></br>
          Message : <input type="text" name="message" /></br>
          <input type="submit" value="Envoyer" />
          </p>
          </form>

          <?php
          // on récupère les dix dernières entrées de la table
          mysql_connect("localhost", "root", ""); // connexion à Mysql
          mysql_select_db("test"); // selection de la BDD test
          $reponse = mysql_query("SELECT * FROM mini-chat ORDER BY Id DESC LIMIT 0,10 "); //On selectionne les 10 derniers messages postés


          //puis on fait une boucle pour afficher tous les résultats
          while ($donnees = mysql_fetch_array($reponse))
          {
          ?>
          <p>
          <strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['Message']; ?></br>
          </p>
          <?php
          }
          mysql_close(); // on se deconnecte de mysql
          ?>

          </body>
          </html>


          J'espere que ce sera assez lisible car j'ai la flemme de mettre les couleurs.
          En tout cas merci de vous souciez de mon problème.

          PS : CrUsTy, j'ai essayé aussi avec ta version mais ca ne marche pas non plus. Merci quand meme.
          • Partager sur Facebook
          • Partager sur Twitter
            28 février 2007 à 9:26:44

            Salut à tous,

            Merci d'utiliser les balise code du forum elle coute rien à l'usage mais rapporte de meilleur réponse de notre part.

            Sinon pour ton problème dans ta base de données assure toi que ta table mini-chat existe et qu'elle n'est pas vide, de plus on ne sait même si tu as une erreur affiché par PHP, ce qui nous serait utile pour t'aider.

            Cordialement Inazo.
            • Partager sur Facebook
            • Partager sur Twitter
              28 février 2007 à 9:31:11

              Citation


              J'espere que ce sera assez lisible car j'ai la flemme de mettre les couleurs.
              En tout cas merci de vous souciez de mon problème.

              PS : CrUsTy, j'ai essayé aussi avec ta version mais ca ne marche pas non plus. Merci quand meme.


              Le pire , c'est que tu sait qu'il faut mettre en couleur avec le Zcode .
              Pour la flemme , regarde , "<code type="php"></code>" , c'est dur hein ?
              En plus , beaucup plus de gens prendront le temps de lire le code coloré plutôt qu'un code en noir et blanc .

              jblucas
              • Partager sur Facebook
              • Partager sur Twitter
                6 mars 2007 à 11:20:13

                Salut,
                désolé pour la couleur, je ne savais pas qu'il fallait mettre ces balises. :( Si je l'avais su, je l'aurais évidemment fait.
                En tout cas, merci pour l'info.

                En ce qui concerne les messages d'erreur, voici ce que j'obtiens :

                Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\mes documents\programmation\site du zéro\mini-chat\index.php on line 51

                Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\mes documents\programmation\site du zéro\mini-chat\index.php on line 56

                Les lignes 51 et 56 correspondent aux lignes où il y a les "while" vers la fin du code. Je vous le redonne en couleur cette fois :


                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                       
                                <head>
                                                <title> Mini-Chat</title>
                                                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                                </head>
                                <style type="text/css">
                                form
                                {
                                text-align : center;
                                }
                                </style>
                                <body>

                <?php

                if(isset($_POST['message']) AND isset($_POST['pseudo'])) // si les variables message et pseudo existent
                        {if($_POST['message'] != NULL AND $_POST['pseudo'] != NULL) // si les variables message et pseudo ne sont pas vides
                                {
                                        mysql_connect("localhost", "root", ""); // connexion à Mysql
                                        mysql_select_db("test"); // selection de la BDD test

                                        // on utilise htmlentities pour eviter les problemes au cas ou des batards rentre du texte html dans les cases
                                        $message = htmlentities ($_POST['message']);
                                        $pseudo = htmlentities ($_POST['pseudo']);
                                        mysql_query("INSERT INTO mini-chat VALUES('', '$pseudo', '$message')"); // On ajoute une entrée avec mysql_query
                                       
                                        mysql_close(); // on se deconnecte de mysql
                                }
                        }
                // on va afficher le formulaire
                ?>

                               
                <form action="index.php" method="post">
                <p>
                Pseudo :  <input type="text" name="pseudo" /></br>
                Message : <input type="text" name="message" /></br>
                <input type="submit" value="Envoyer" />
                </p>
                </form>

                <?php
                // on récupère les dix dernières entrées de la table
                        mysql_connect("localhost", "root", ""); // connexion à Mysql
                        mysql_select_db("test"); // selection de la BDD test
                        $reponse = mysql_query("SELECT * FROM mini-chat ORDER BY Id DESC LIMIT 0,10 "); //On selectionne les 10 derniers messages postés
                       
                        // Puis on fait une boucle pour afficher tous les résultats :
                -> ligne 51 : while ($donnees = mysql_fetch_array($reponse))
                {
                   echo '<p><strong>'.$donnees['pseudo'].'</strong> :  '.$donnees['message'].' </p>';
                }
                        //puis on fait une boucle pour afficher tous les résultats
                -> ligne 56 : while ($donnees = mysql_fetch_array($reponse))
                                        {
                                        ?>
                                <p>
                                        <strong><?php echo $donnees['pseudo']; ?></strong> : <?php echo $donnees['Message']; ?></br>
                                </p>
                                        <?php
                                        }
                                        mysql_close(); // on se deconnecte de mysql
                ?>

                </body>
                </html>


                Encore merci de vous soucier de mon problème.
                • Partager sur Facebook
                • Partager sur Twitter
                  6 mars 2007 à 11:30:43

                  Pourquoi tu met 2 boucles while ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 mars 2007 à 17:24:48

                    Désolé c'est une erreur de copier-coller...

                    Cela dit il reste toujours une erreur! :(
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 mars 2007 à 19:46:25

                      ben premiere m'en : supprime un des deux while car la sa va pas faire puis ensuite tu fais "or die(mysql_error());" pour voir d'ou viens ton probleme ensuite reporte toi aux annexes du cours de php -> combattre les erreurs puis enfin regarde ta table si elle n'est pas vide.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      problème tuto sdz

                      × 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