Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème

Sujet résolu
    12 mai 2006 à 19:52:05

    Bonsoir tout le monde j'ai un problème avec mon script de livre d'or, j'ai beau tourner et retourner mon script dans tous les sens je ne comprends vraiment pas pourquoi l'affichage du lien des pages ne marche pas si quelqu'un pouvait m'éclairer je lui serais grandement reconnaissant!

    <form method="post" action="livreor.php">
        <p>Un petit message dans le livre d'or pour me faire part de vos avis!</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>
     
     <?php
     
     mysql_connect("localhost","sstp","bipbipbip");
     mysql_select_db("sstp_base1");
     
     if (isset($_POST['
    pseudo']) AND isset($_POST['message']))
     {
     $pseudo = htmlentities($_POST['
    pseudo'], ENT_QUOTES);
     $message = htmlentities($_POST['
    message'], ENT_QUOTES);
     $message = nl2br($message);
     
     mysql_query("INSERT INTO livreor VALUES('
    ','".$pseudo."','".$message."')");
     }
     $nombredemessagesparpage = 20;
     
     $retour = mysql_query('
    SELECT COUNT (*) AS nb_messages FROM livreor');
     $donnees = mysql_fetch_array($retour);
     $totaldesmessages = $donnees['
    nb_messages'];
     
     $nombredepages = ceil($totaldesmessages / $nombredemessagesparpage);
     
     echo '
    Page: ';
     for ($i = 1 ; $i <= $nombredepages; $i++ )
     {
      echo '
    <a href="livreor.php?page='.$i.'">'.$i.'</a>';
      }
      ?>
     
      <?php
       if (isset($_GET['
    page']))
       {
       $page = $_GET['
    page'];
       }
       else
       {
       $page = 1;
       }
       
       $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>
    • Partager sur Facebook
    • Partager sur Twitter
      12 mai 2006 à 20:04:10

      Tu a un message d'erreur?

      • Partager sur Facebook
      • Partager sur Twitter
        12 mai 2006 à 20:28:23

        Tiens essaie de le remplacer par ça :

        <form method="post" action="livreor.php">
            <p>Un petit message dans le livre dor pour me faire part de vos avis!</p>
           
            <p>
                Pseudo : <input type="text" name="pseudo" /><br />
                Message :<br />
                <textarea name="message" rows="8" cols="35"></textarea> <br />
                <input type="submit" value="Envoyer" />
                        </p>
            </form>
         
         <?php
         
         mysql_connect("localhost","sstp","bipbipbip");
         mysql_select_db("sstp_base1");
         
         if (isset($_POST['pseudo']) AND isset($_POST['message']))
         {
         $pseudo = htmlentities($_POST['pseudo'], ENT_QUOTES);
         $message = htmlentities($_POST['message'], ENT_QUOTES);
         $message = nl2br($message);
         
         mysql_query("INSERT INTO livreor VALUES('','".$pseudo."','".$message."')");
         }
         $nombredemessagesparpage = 20;
         
         $retour = mysql_query('SELECT COUNT (*) AS nb_messages FROM livreor');
         $donnees = mysql_fetch_array($retour);
         $totaldesmessages = $donnees['nb_messages'];
         
         $nombredepages = ceil($totaldesmessages / $nombredemessagesparpage);
         
         echo 'Page: ';
         for ($i = 1 ; $i <= $nombredepages; $i++ )
         {
          echo '<a href="livreor.php?page='.$i.'">'.$i.'</a>';
          }
           if (isset($_GET['page']))
           {
           $page = $_GET['page'];
           }
           else
           {
           $page = 1;
           }
           
           $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>


        j'ai fait quelque petites modifs enfin dis moi si ça marche ;)
        • Partager sur Facebook
        • Partager sur Twitter
          12 mai 2006 à 22:40:06

          Non désolé mais cela n'a rien changé les lien ne s'affiche toujours pas! Pour répondre à la première question: non, pas de message d'erreur, seulement les lien des pages ne s'affichent pas!
          • Partager sur Facebook
          • Partager sur Twitter
            12 mai 2006 à 22:50:50

            Slt,

            Tu as combien de messages dans ta table ?
            • Partager sur Facebook
            • Partager sur Twitter
              12 mai 2006 à 22:55:57

              Désolé mais je débute, comment puis-je faire pour le savoir?
              • Partager sur Facebook
              • Partager sur Twitter
                12 mai 2006 à 22:57:06

                Bonsoir

                Tu sais tu aurais du aller lire le post-it qui est ecrit en gros sur le forum php

                Citation : titre post-it

                FAQ PHP + rappels
                A LIRE AVANT DE POSTER



                dans les premières lignes c'est ecrit:

                Citation : aimak

                Les titres explicites
                Citation : quelques titres non-explicites
                HELP !!
                J'ai un problème
                [php] Problème
                Je ne comprends pas
                ...


                ne sont pas autorisés

                Essaie de mettre des titres qui sont un peu plus ciblé par rapport a ton "PROBLEME" c'est beaucoup mieux pour tout le monde ;)

                • Partager sur Facebook
                • Partager sur Twitter
                  12 mai 2006 à 23:00:15

                  Vraiment désolé, je m'excuse auprès de vous mais je me suis inscrit il y a quelques heures et n'ai donc pas encore vu! Merci de m'avoir prevenu ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 mai 2006 à 23:00:26

                    Regardes dans ta table, ou fais un count.

                    Si tu en as moins de 20, c'est normal que tu n'ai pas de liens d'affiché.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 mai 2006 à 23:04:52

                      J'en ai 33, je pense qu'il s'agit d'un problème avec les variables ou avec la boucle for car n'importe quoi que je mette dans le lien, rien ne s'affiche...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 mai 2006 à 23:12:54

                        Fais un echo de $donnees['nb_messages']

                        Le problème vient sûrement de cette variable.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 mai 2006 à 23:23:53

                          Rien ne s'affiche, enfin, aucun changement sur la page, le echo ne s'affiche pas!
                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 mai 2006 à 23:58:44

                            Au lieu de :

                            $retour = mysql_query('SELECT COUNT (*) AS nb_messages FROM livreor');
                            $donnees = mysql_fetch_array($retour);
                            ...
                            $totaldesmessages = $donnees['nb_messages'];


                            Fais :

                            $retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor') or die (mysql_error());
                            $totaldesmessages = mysql_result($retour, 0, 'nb_messages');
                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 mai 2006 à 10:51:13

                              Ca marche!!! Merci beaucoup c'est vraiment sympa d'avoir été si patient. Peut-tu m'expliquer quel était le problème et comment l'a tu résolu car, comme je débute, mon but est aussi de comprendre mes erreurs. Merci d'avance... ;)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                13 mai 2006 à 11:20:29

                                Franchement, j'en sais rien :lol:

                                Mais quand on fait une requête avec count, c'est bien plus pratique d'utiliser mysql_result que mysql_fetch_array, puisque la requête ne retourne qu'un seul résultat.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  13 mai 2006 à 11:24:31

                                  OK lol il n'y a pas de problème, c'est vraiment sympa de m'avoir aidé, à partir de maintenant je vais utiliser mysql_result pour mes scripts! :)
                                  @+
                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Problème

                                  × 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