Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mini chat

    27 novembre 2005 à 9:05:44

    Salut,
    J'ai fait le TP minichat et j'ai regarder la correction parceque je n'y arrive vraiment pas, il y a bien le formulair et ca enregistre bien dans mas BDD mais ca n'affiche pas le résulta :colere: , que faud il modifier pour l'adapté a mon cas a par pour le connecter a ma base de donné ? (ma table s'appelle minichat et ma page minichat.php)
    Voici mon code, la où il y a des * c'est que je sais ce qu'il y a (mon mots de passe, monlogin a la BDD....)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml: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>
           
           
    <?
    if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
    {
        if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
        {
            // D'abord, on se connecte à MySQL
    mysql_connect("localhost", "***", "***");
    mysql_select_db("***");
       
            // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table   
            $message = htmlentities ($_POST['message']);
            $pseudo = htmlentities ($_POST['pseudo']);
       
            // Ensuite on enregistre le message
            mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");
       
            // On se déconnecte de MySQL
            mysql_close();
        }
    }


    // Que l'on ait enregistré des données ou pas...
    // On affiche le formulaire puis les 10 derniers messages

    // Tout d'abord le formulaire :
    ?>



    <form action="minichat.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>



    <?

    // Maintenant on doit récupérer les 10 dernières entrées de la table
    // On se connecte d'abord à MySQL :
    mysql_connect("localhost", "***", "***");
    mysql_select_db("***");

    // On utilise la requête suivante pour récupérer les 10 derniers messages :
    $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");

    // On se déconnecte de MySQL
    mysql_close();

    // Puis on fait une boucle pour afficher tous les résultats :
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>

    <p><strong><? echo $donnees['pseudo']; ?></strong> : <? echo $donnees['message']; ?></p>



    <?
    }
    // Fin de la boucle, le script est terminé !
    ?>
           
           
        </body>
    </html>
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2005 à 9:08:48

      faut pas fermer la connexion mysql !
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2005 à 9:31:32

        où ca ?
        (est ce que vous pouriez copier tout le code svp)
        • Partager sur Facebook
        • Partager sur Twitter
          27 novembre 2005 à 9:33:30

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml" xml: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>


          <?
          if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
          {
          if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
          {
          // D'abord, on se connecte à MySQL
          mysql_connect("localhost", "***", "***");
          mysql_select_db("***");

          // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
          $message = htmlentities ($_POST['message']);
          $pseudo = htmlentities ($_POST['pseudo']);

          // Ensuite on enregistre le message
          mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

          // On se déconnecte de MySQL
          mysql_close();
          }
          }


          // Que l'on ait enregistré des données ou pas...
          // On affiche le formulaire puis les 10 derniers messages

          // Tout d'abord le formulaire :
          ?>



          <form action="minichat.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>



          <?

          // Maintenant on doit récupérer les 10 dernières entrées de la table
          // On se connecte d'abord à MySQL :
          mysql_connect("localhost", "***", "***");
          mysql_select_db("***");

          // On utilise la requête suivante pour récupérer les 10 derniers messages :
          $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");



          // Puis on fait une boucle pour afficher tous les résultats :
          while ($donnees = mysql_fetch_array($reponse) )
          {
          ?>

          <p><strong><? echo $donnees['pseudo']; ?></strong> : <? echo $donnees['message']; ?></p>



          <?
          }
          // Fin de la boucle, le script est terminé !
          ?>



          essaie sa :)
          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2005 à 9:34:03

            Et bien dans ton code, il y a deux connexion et deux déconnexions à MySQL.

            C'est bien de copier/coller les tutos, mais il faut réfléchir aussi dans la vie :)
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2005 à 9:40:41

              j'ai enlevé la 2éme connection et la 1ere déconection et ca ne marche toujour pas

              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml" xml: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>


              <?
              if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
              {
              if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
              {
              // D'abord, on se connecte à MySQL
              mysql_connect("localhost", "****", "*****");
              mysql_select_db("****");

              // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
              $message = htmlentities ($_POST['message']);
              $pseudo = htmlentities ($_POST['pseudo']);

              // Ensuite on enregistre le message
              mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message')");

              }
              }


              // Que l'on ait enregistré des données ou pas...
              // On affiche le formulaire puis les 10 derniers messages

              // Tout d'abord le formulaire :
              ?>



              <form action="minichat.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>



              <?

              // Maintenant on doit récupérer les 10 dernières entrées de la table

              // On utilise la requête suivante pour récupérer les 10 derniers messages :
              $reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,10");



              // Puis on fait une boucle pour afficher tous les résultats :
              while ($donnees = mysql_fetch_array($reponse) )
              {
              ?>

              <p><strong><? echo $donnees['pseudo']; ?></strong> : <? echo $donnees['message']; ?></p>



              <?
              }
              // Fin de la boucle, le script est terminé !
              ?>


              </body>
              </html>
              • Partager sur Facebook
              • Partager sur Twitter
                30 novembre 2005 à 11:01:54

                a la fin il faut peut-être penser à fermer ta connexion à la basse de données avant la balise </body> tu laisse jamais une connexion ouverte comme ça
                • Partager sur Facebook
                • Partager sur Twitter

                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