Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Livre d'or]j'ai quatre erreur que je n'arrive pas à résoudre...

Undefined variable: NombreDePages in, Undefined variable: NombreDeMessagesParPage in, Undefined variable: NombreDeMessagesParPage in, mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Sujet résolu
    20 février 2006 à 0:05:26

    Salut !

    J'ai de nouveaux des problème.(c'est a croire que je vais revenir pour chaque TP ^^ )

    j'ai les erreurs suivante

    -Undefined variable: NombreDePages in c:\documents and settings\Votre_Nom\mes documents\projet xhtml\xhtml, css et php\test php\livreor.php on line 53



    -Undefined variable: NombreDeMessagesParPage in c:\documents and settings\Votre_Nom\mes documents\projet xhtml\xhtml, css et php\test php\livreor.php on line 68



    -Undefined variable: NombreDeMessagesParPage in c:\documents and settings\Votre_Nom\mes documents\projet xhtml\xhtml, css et php\test php\livreor.php on line 69


    -mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\Votre_Nom\mes documents\projet xhtml\xhtml, css et php\test php\livreor.php on line 71


    mon code source

    <!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>Accueil</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        </head>
        <style type="text/css">
            body
            {
                text-align:center;
            }
        </style>
        <body>
            <p>
                <h3>Mon livre d'or</h3>
                Vous voulez laisser un message dans le livre d'
    or,
                <br />
                remplisser le formulaire et envoyer.
                <form method="post" action="livreor.php">
                    Votre pseudo : <input name="pseudo">
                    <br />
                    <br />
                    Votre message :
                    <br />
                    <textarea  name="message" rows="8" cols="35"></textarea>
                    <br />
                    <input type="submit" value="Envoyer">
                </form>
            </p>
            <?php
                    mysql_connect("localhost", "root", ""); // Connection a la BDD
                    mysql_select_db("test"); // Selection de la BDD
                    // -------------------- ETAPE 1 --------------------------
                    // -----------Envoie des info dans la BDD-----------
                    // ----------------------------------------------------------
                if (isset($_POST['pseudo']) AND isset($_POST['message']))
                {
                    $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);// Htmlentities = Pour qui on ne peux pas utiliser d'(x)HTML dans le pseudo (pareille pour le message)
                    $message = htmlentities($_POST['message'], ENT_QUOTES);// ENT_QUOTES = pour que les apostrophes soit transformer en guillemets.
                    $message = nl2br($message);// nl2br = Pour que les entrées son changer en <br />
                    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "')"); // insert pseudo & le message dans la BDD
                }
                    // -------------------- ETAPE 2--------------------------
                    // ---------Crée les lien vers les autre page--------
                    // ----------------------------------------------------------
                   
                    $NombreDeMessageParPage = 5; // Nombre de message par page
                    $msg = mysql_query("SELECT COUNT(*) AS nb_msg FROM livreor");// compte les message dans la BDD
                    $donnees = mysql_fetch_array($msg); // Variable multiple...
                    $TotalDeMessage = $donnees['nb_msg'];    // Total des message       
                    $NombreDePage = ceil($NombreDeMessageParPage / $TotalDeMessage); // Nombre de page
                    echo 'Page : ';// Nom des page
                    for ($i = 1 ; $i <= $NombreDePages ; $i++)//Création des page
                    {
                        echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';//réation du nom de la page
                    }
                    // -------------------- ETAPE 3--------------------------
                    // -----------Afficher les message poster-----------
                    // ----------------------------------------------------------
                    if (isset($_GET['page']))
                    {
                        $page = $GET['page'];//sa recupere le numero de la page dans l'url
                    }
                    else// si la variable existe pas
                    {
                        $page = 1;// on est diriger vers la page 1 (page par default)
                    }
                    $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();
            ?>
        </body>
    </html>


    et voici les ligne qui ont des probleme:

    Ligne 53
    for ($i = 1 ; $i <= $NombreDePages ; $i++)//Création des page
    {
    echo '<a href="livreor.php?page=' . $i . '">' . $i . '</a> ';//réation du nom de la page
    }

    Ligne 68
    $premierMessageAafficher = ($page - 1) * $NombreDeMessagesParPage;


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


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



    Je sait que c'est pas parce que il me dit que ce sont les ligne la, que se sont vraiment elle en elle même.
    J'ai aussi été voir le tuto de mateo pour les erreurs, mais rien a faire je ne trouve vraiment pas :(

    Est-ce que vous pourriez m'aider :D

    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2006 à 0:18:16

      Pour la première tu as une fois $NombreDePage et une fois $NombreDePages (ya un s à la fin), il faut choisir!
      Les autres je regarde


      edit1: la 2eme et la 3eme c'est la même chose $NombreDeMessageParPage et $NombreDeMessagesParPage (encore un s une fois sur 2)

      et la dernière dois venir de
      $reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $NombreDeMessagesParPage);

      il y a encore un "s" à $NombreDeMessagesParPage en trop
      • Partager sur Facebook
      • Partager sur Twitter
        20 février 2006 à 0:23:47

        Et pour ta dernière erreur, cela provient de ta requête, rajoute un or die(mysql_error()) à la fin, et dis nous ce qu'il t'affiche.
        • Partager sur Facebook
        • Partager sur Twitter
          20 février 2006 à 0:29:31

          Re-salut!

          A oui, Merci beaucoup de votre aide c'est parce que j'ai fais un ou deux copier coller sur le tuto de mateo et mateo ne fais pas de faute d'orthographe ^^:p

          Pour la requête mysql je ne sait pas si c'est normal mais rien que en corrigeant les "S" sa a été et elle a disparu o_O lol

          Enfin je vous redit MERCI beaucoup de votre aide !! ^^

          Je vous souhaite une très bonne nuit.
          • Partager sur Facebook
          • Partager sur Twitter
            20 février 2006 à 9:58:42

            Citation : lacoste-313

            Re-salut!

            A oui, Merci beaucoup de votre aide c'est parce que j'ai fais un ou deux copier coller sur le tuto de mateo et mateo ne fais pas de faute d'orthographe ^^:p

            Pour la requête mysql je ne sait pas si c'est normal mais rien que en corrigeant les "S" sa a été et elle a disparu o_O lol

            Enfin je vous redit MERCI beaucoup de votre aide !! ^^

            Je vous souhaite une très bonne nuit.


            oui c'est normal, les erreurs mysql proviennent très souvent de requètes avec des variables qui conviennent pas, comme tes variables avec des s en trop qui ne valent rien du tout, puisque tu ne leur a pas donné de valeur ;) résultat quand la variable a le bon nom elle a alors la valeur que tu voulais qu'elle aie, et quand elle(la requète) va chercher dans ta table, elle tombe sur un enregistrement qui existe, et donc elle continue gentiment a lire le script, sans planter 2 lignes après, parce que tu voulais créer un array avec une requète qui n'a renvoyé qu'une erreur :p
            • Partager sur Facebook
            • Partager sur Twitter
              20 février 2006 à 10:52:33

              ^^ Oui, lol merci de ces petit précision

              Je n'y avais pas pensé ^^:p

              Sujet résolu !


              Merci @++
              • Partager sur Facebook
              • Partager sur Twitter

              [Livre d'or]j'ai quatre erreur que je n'arrive pas à résoudre...

              × 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