Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme livre d'or

ça ne s'enregistrer pas

    29 décembre 2005 à 16:39:30

    Bonjour
    J'ai suivi le TP de mateo sur le livre d'or mais quand on envoie le message il ne s'enregistre pas dans ma BDD 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" >
       <head>
           <title>Livre d'or</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            form, .pages
            {
                text-align:center;
            }
            </style>
        </head>
       
        <body>

        <form method="post" action="livreor.php">
        <p>Mon site vous plaît ? Laissez-moi un message !</p>
       
        <p>
            Pseudo : <input name="pseudo" /><br />
            Message :<br />
            <textarea name="message" rows="8" cols="35"></textarea> <br />
            <input type="submit" value="Envoyer" />
        </p>
        </form>

    <p class="pages">
    <?php
    mysql_connect("localhost", "guildwarrugby_db","" );
    mysql_select_db("livreor&quot;);


       
    // --------------- Etape 1 -----------------
    // Si un message est envoyé, on l'
    enregistre
    // -----------------------------------------

    if (isset($_POST['pseudo']) AND isset($_POST['message']))
    {
       
        $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
           
        $message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
        $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
           
           
           
           
           
        // On peut enfin enregistrer :o)
        mysql_query("INSERT INTO livreor VALUES('', ' " . $pseudo . "', '" . $message . " ')");
           
        }
       
       
            
                    // --------------- Etape 2 -----------------
    // On écrit les liens vers chacune des pages
    // -----------------------------------------

    // On met dans une variable le nombre de messages qu'on veut par page
    $nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o)

    // On récupère le nombre total de messages
    $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor');
    $donnees = mysql_fetch_array($retour);
    $totalDesMessages = $donnees['nb_messages'];

    // On calcule le nombre de pages à créerc
    $nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);

    // Puis on fait une boucle pour écrire les liens vers chacune des pages
    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';
    }

    ?>

    </p>

    <?php
    // --------------- Etape 3 ---------------
    // Maintenant, on va afficher les messages
    // ---------------------------------------

    if (isset($_GET['page']))
    {
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
        $page = 1; // On se met sur la page 1 (par défaut)
    }

    // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
    $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;

    $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);

    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<p><gras>' . $donnees['pseudo'] . '</gras> a écrit :<br />' . $donnees['message'] . '</p>';
    }

    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>

    </body>
    </html>



    L'adresse su site ou est mon livre d'or
    <lien url="http://membres.lycos.fr/guildwarrugby"></lien>

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2005 à 16:43:50

      je croit qu'il manque ça

      EDIT: j'avait mal lu :D .

      il y a bien connection a mysql, mais vu que c'est écrit en rouge...
      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2005 à 16:52:30

        bon je ne sais absolument pas si ca changera qq chose mais essaie toujours

        mysql_query("INSERT INTO livreor (pseudoDeTaDB,messageDe taDB)VALUES('$pseudo','$message')");
        • Partager sur Facebook
        • Partager sur Twitter
          29 décembre 2005 à 17:13:28

          Ca change rien merci quand meme :(
          • Partager sur Facebook
          • Partager sur Twitter
            30 décembre 2005 à 14:28:49

            Je sais plus quoi faire, vous avez pas d'autre solutions svp
            • Partager sur Facebook
            • Partager sur Twitter
              30 décembre 2005 à 14:53:06

              Je ne sais pas si l'erreur vient de là, mais il y a un ; en trop :

              mysql_select_db("livreor";);
              • Partager sur Facebook
              • Partager sur Twitter
                30 décembre 2005 à 15:11:02

                Je l'ai enleve mais ça change toujours rien. merci
                • Partager sur Facebook
                • Partager sur Twitter
                  30 décembre 2005 à 15:31:30

                  if (isset($_POST['pseudo']) AND isset($_POST['message']))
                  {
                     
                      $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES); // On utilise htmlentities par mesure de sécurité
                         
                      $message = htmlentities($_POST['message'], ENT_QUOTES); // De même pour le message
                      $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
                         
                         
                         
                         
                         
                      // On peut enfin enregistrer :o)
                      mysql_query("INSERT INTO livreor VALUES('', ' " . $pseudo . "', '" . $message . " ')");
                         
                      }
                  else echo 'non';


                  "non" est affiché ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    30 décembre 2005 à 15:45:14

                    Oui le Non est affiche, c'est bien ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      30 décembre 2005 à 15:47:46

                      Non, c'est pas bien, ça veut dire que $_POST['pseudo'] et $_POST['message'] n'existent pas !
                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 décembre 2005 à 15:51:05

                        Et il faut faire comment pour qu'elles existent ?
                        merci
                        • Partager sur Facebook
                        • Partager sur Twitter
                          31 décembre 2005 à 11:00:50

                          Je comprend pas pourquoi elles $_POST['pseudo'] et $_POST['message'] n'existent pas :( , faut faire quoi pour qu'elles existent. merci
                          • Partager sur Facebook
                          • Partager sur Twitter

                          probleme livre d'or

                          × 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