Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec une page O_o

error uninstall

Sujet résolu
    22 avril 2006 à 15:37:55

    Bonjour ! C'est encore moi !
    Cette fois ci, j'ai un big bug sur ma page livre d'or!

    Image utilisateur

    Y a un message qui s'affiche quand on va sur la page du livre d'or et quand on essaie de le supprimer, y en a un autre puis un autre puis un autre ... En gros, on est bloké sur la page quoi. Pour s'en sortir, seule solution : ctrl+alt+supr ==> gestionnaire des taches ==> Terminer le processus 'mozilla' ou 'iexplorer5'
    Pour les suicidaires, voici le lien de ma page ici, prenez vos précautions car bug assuré !! Je le répète !!
    Voici le code de ma page


           <!-- Le corps -->

           <div id="corps"><center>   


    <?php
     // D'abord, on se connecte à MySQL
    mysql_connect("localhost", "yannsite", "héhéhé");
    mysql_select_db("yannsite");

    //Moyenne des notes //
    $MoyenneNote = 0;
    $SommeDesNotes = 0;
    $SommeDesNotesRetour = mysql_query('SELECT SUM(note) AS somme_note FROM livreor');
    $DonneesSomme = mysql_fetch_array($SommeDesNotesRetour);
    $SommeDesNotes = $DonneesSomme['somme_note'];
    $NbreDeNotes = 0;
    $NbreDeNotesRetour = mysql_query('SELECT COUNT(note) AS nb_note FROM livreor');
    $DonneesNote = mysql_fetch_array($NbreDeNotesRetour);
    $NbreDeNotes = $DonneesNote['nb_note'];

    $MoyenneNote = $SommeDesNotes / $NbreDeNotes;
    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>
        <p>Mon site vous plaît ? Laissez-moi un message !</p>

    <form action="poster.php" method="post" name="livreor">
    <p>
    Pseudo : <input type="text" name="pseudo2" class="pseudo2" /></p>
    <p>
    <script language=Javascript src="bbcode.js"></script>
    <img src="images/boutons/gras.png" title="Gras" onclick="javascript:balise('[b]','[/b]', 'message2')" alt="" class="lien" />
    <img src="images/boutons/italique.png" onclick="javascript:balise('[i]','[/i]', 'message2')" title="italique" alt="" class="lien" />

    <img src="images/boutons/souligne.png" title="souligne" onclick="javascript:balise('[u]','[/u]', 'message2')" alt="" class="lien" />
    <img src="images/boutons/lien.png" title="lien" onclick="javascript:balise('[a=',']cliquez ici[/a]', 'message2')" alt="" class="lien" />
    <img src="images/boutons/image.png" title="image" onclick="javascript:balise('[image=',']', 'message2')" alt="" class="lien" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <img src="images/smileys/rire.gif" onclick="javascript:balise('',' :lol:', 'message')" title=":lol:" alt="" class="lien" />
    <img src="images/smileys/heureux.png" title=":D" onclick="javascript:balise('',' :D', 'message')" alt="" class="lien" />
    <img src="images/smileys/hihi.png" title="^^" onclick="javascript:balise('',' ^^', 'message')" alt="" class="lien" />
    <img src="images/smileys/clin.png" title=";)" onclick="javascript:balise('',' ;)', 'message')"alt="" class="lien" />
    <img src="images/smileys/blink.gif" title="o_O" onclick="javascript:balise('',' o_O', 'message')" alt="" class="lien" />
    <img src="images/smileys/huh.png" title=":o" onclick="javascript:balise('',' :o', 'message')" alt="" class="lien" />
    <img src="images/smileys/langue.png" title=":p" onclick="javascript:balise('',' :p', 'message')" alt="" class="lien" />
    <img src="images/smileys/siffle.png" title=":-°" onclick="javascript:balise('',' :-°', 'message')" alt="" class="lien" />
    <img src="images/smileys/smile.png" title=":)" onclick="javascript:balise('',' :)', 'message')" alt="" class="lien" />
    <img src="images/smileys/triste.png" title=":(" onclick="javascript:balise('',' :(', 'message')" alt="" class="lien" />
    <img src="images/smileys/unsure.gif" title=":euh:" onclick="javascript:balise('',' :euh:', 'message')" alt="" class="lien" />
    <img src="images/smileys/mechant.png" title=":colere:" onclick="javascript:balise('',' :colere:', 'message')" alt="" class="lien" />
    <br />
    <textarea  name="message2" cols="50" rows="10" class="message2"></textarea>
    </p>
    <p><label> Votre note pour le site : <select name="note">
    <option value="0"> 0 </option>
    <option value="1"> 1 </option>
    <option value="2"> 2 </option>
    <option value="3"> 3 </option>
    <option value="4"> 4 </option>
    <option value="5"> 5 </option>
    <option value="6"> 6 </option>
    <option value="7"> 7 </option>
    <option value="8"> 8 </option>
    <option value="9"> 9 </option>
    <option value="10"> 10 </option>
    <option value="11"> 11 </option>
    <option value="12"> 12 </option>
    <option value="13"> 13 </option>
    <option value="14"> 14 </option>
    <option value="15"> 15 </option>
    <option value="16"> 16 </option>
    <option value="17"> 17 </option>
    <option value="18"> 18 </option>
    <option value="19"> 19 </option>
    <option value="20" selected="selected"> 20 </option>
    </select> </label> <br />
    Moyenne du site : <?php echo round($MoyenneNote, 1); ?> <br />
    <input type="submit" value="Envoyer" />
    </p>
    </form>

                 
                     <?php

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

    mysql_connect("localhost", "yannsite", "héhéhé");
    mysql_select_db("yannsite");


    // --------------- 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 = 10; // 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éer
    $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="index.php?page=livre_dor&amp;page2=' . $i . '">' . $i . '</a> ';
    }

    ?>

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

    if (isset($_GET['page2']))
    {
        $page2 = $_GET['page2']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page2=4)
    }
    else // La variable n'existe pas, c'est la première fois qu'on charge la page
    {
        $page2 = 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 = ($page2 - 1) * $nombreDeMessagesParPage;

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

    while ($donnees = mysql_fetch_array($reponse))
    {
        echo '<p><span style="color: white; font-weight: bold;"> <hr />' . $donnees['pseudo2'] . ' a écrit : </span> <span style=" color: white; font-weight: bold; font-size: 12px; font-style: italic;">le ' . date('d/m/y', $donnees['timestamp']) . ' à ' . date('H\hi', $donnees['timestamp'])'</span> <br /><br />' . $donnees['message2'] . '<br /> <br /> <strong>Note :</strong> ' . $donnees['note'] . '</p>';
    }

    echo 'Page : ';
    for ($i = 1 ; $i <= $nombreDePages ; $i++)
    {
        echo '<a href="index.php?page=livre_dor&amp;page2=' . $i . '">' . $i . '</a> ';
    }
    mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
    ?>

           
           </div>


    Voilà ! Merci de m'aider :(

    ps: Au début, je croyais que c'était a cause du javascript mais si j'enlève le bout de javascript, y a toujours l'erreur.
    • Partager sur Facebook
    • Partager sur Twitter
      22 avril 2006 à 15:55:56

      tu as essayé de mettre :
      <script type="text/javascript" src="bbcode.js"></script>

      à la place ?
      • Partager sur Facebook
      • Partager sur Twitter
        22 avril 2006 à 16:09:26

        Qui est le petit malin qui a mis du code javascript dans le minichat ? :colere:
        Bon, sinon, commment on peut éviter que quelqu'un fasse un script javascript dans le minichat ou dans le livre d'or ? Aidez moi, svp

        edit:J'ai trouvé où est le problème mais j'arrive pas à le corriger.
        C'est quand on veut afficher tous les messages:
        while ($donnees = mysql_fetch_array($reponse))
        {
            echo '<p><span style="color: white; font-weight: bold;"> <hr />' . $donnees['pseudo2'] . ' a écrit : </span> <span style=" color: white; font-weight: bold; font-size: 12px; font-style: italic;">le ' . date('d/m/y', $donnees['timestamp']) . ' à ' . date('H\hi', $donnees['timestamp'])'</span> <br /><br />' . $donnees['message2'] . '<br /> <br /> <strong>Note :</strong> ' . $donnees['note'] . '</p>';
        }


        Qu'est ce qui ne va pas? Si je supprime cette ligne et que dans le echo je met 'yo', et ben, ça m'affiche 10 yo
        • Partager sur Facebook
        • Partager sur Twitter
          22 avril 2006 à 16:24:46

          htmlentities($_POST['nom_du_champ'], ENT_QUOTES);
          ;)
          • Partager sur Facebook
          • Partager sur Twitter
            22 avril 2006 à 16:33:02

            Le ENT_QUOTES conte bcp?
            Psk dans ma page de transition, y a
            $contenu = bbcode($_POST['message2'], ENT_QUOTES);
            $pseudo2 = nl2br(htmlentities($_POST['pseudo2'], ENT_QUOTES));


            j'ai une fonction bbcode aussi qui a htmlentities

            EDIT:J'ai trouvé cette fois ci le lieu précis précis de l'erreur.
            C'est quand je fais ça
            . $donnees['message2'] .


            En gros, il y a une erreur quand je veux afficher le message.
            Pour le pseudo, l'heure et la note, c'est tout bon.

            C'est surement dû a ma page de transition ci jointe
            if (isset($_POST['pseudo2']))
            {
                    $url = 'http://yannsite.free.fr/index.php?page=livre_dor';
                    if($_POST['pseudo2'] != NULL)
                    {
                            if($_POST['message2'] != NULL)
                            {
                            $requete = mysql_query("SELECT message2 FROM livreor ORDER BY id DESC LIMIT 0,1") or die (mysql_error());
                            $tableau = mysql_fetch_array($requete) or die (mysql_error());
                                    if($_POST['message2'] != $tableau['message2'])
                                            {              
                                                    if($_POST['note'] != NULL)
                                                    {
                                                            //BBCODE! ---------------
                                                            $contenu = bbcode($_POST['message2'], ENT_QUOTES);
                                                            $pseudo2 = nl2br(htmlentities($_POST['pseudo2'], ENT_QUOTES));
                                                            @mysql_query("INSERT INTO livreor (id, pseudo2, message2, timestamp, note, ip) VALUES('', '" . $pseudo2 . "', '" . $message2 . "', '" . time() . "', '" . $note . "', '" . $_SERVER['REMOTE_ADDR'] . "')") ;
                                                            $message = 'Votre Message a été envoyé.';
                                                    } else
                                                    {
                                                            $message = '<span class="erreur">Vous n\'avez pas mis de note!</span>';
                                                    }
                                            }       
                                                                         
                            } else
                            {
                                    $message = '
            <span class="erreur">Vous n\'avez pas entré de message!</span>';
                            }
                    } else
                    {
                            $message = '<span class="erreur">Vous devez préciser votre pseudo!</span>';
                    }
            }
            //Et la suite, c'est la page html


            Vous avez besoin de la fonction bbcode ?

            function bbcode($texte)
            {
                    $contenu = nl2br(htmlentities($texte));
                    $contenu = preg_replace('!\[code\](.+)\[/code\]!isU', "'<div class=\"code\">' . htmlenetities($1) . '</pre></div>'", $contenu);
                    $contenu = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $contenu);
                    $contenu = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $contenu);
                    $contenu = preg_replace('!\[u\](.+)\[/u\]!isU', '<span style="text-decoration: underline;">$1</span>', $contenu);
                    $contenu = preg_replace('![^\[a=](http://[a-z0-9._/-]+)!i', '<a href="$1">$1</a>', $contenu);
                    $contenu = preg_replace('!\[a=(.+)\](.+)\[/a\]!i', '<a href="$1">$2</a>', $contenu);
                    $contenu = preg_replace('!\[image=(.+)\]!i', '<img src="$1" alt="" />', $contenu);

                    $smiley_gauche_code = array (' :)', ' :(',' ;)', ' :D', ' :o', ' :p', ' :lol:', ' ^^', ' :-°', ' :euh:', ' :colere:', ' o_O');
                    $smiley_droite_code = array (':) ', ':( ',';) ', ':D ', ':o ', ':p ', ':lol: ', '^^ ', ':-° ', ':euh: ', ':colere: ', 'o_O ');
                    $image_code = array (
                    ' <img src="../images/smileys/smile.png" title=":)" alt="" /> ',
                    ' <img src="../images/smileys/triste.png" title=":(" alt="" /> ',
                    ' <img src="../images/smileys/clin.png" title=";)" alt="" /> ',
                    ' <img src="../images/smileys/heureux.png" title=":D" alt="" /> ',
                    ' <img src="../images/smileys/huh.png" title=":o" alt="" /> ',
                    ' <img src="../images/smileys/langue.png" title=":p" alt="" /> ',
                    ' <img src="../images/smileys/rire.gif" title=":lol:" alt="" /> ',
                    ' <img src="../images/smileys/hihi.png" title="^^" alt="" /> ',
                    ' <img src="../images/smileys/siffle.png" title=":-°" alt="" /> ',     
                    ' <img src="../images/smileys/unsure.gif" title=":euh:" alt="" /> ',
                    ' <img src="../images/smileys/mechant.png" title=":colere"" alt="" /> ',       
                    ' <img src="../images/smileys/blink.gif" title="o_O" alt="" /> ',       
                    );
                    $contenu = str_replace($smiley_gauche_code, $image_code, $contenu);
                    $contenu = str_replace($smiley_droite_code, $image_code, $contenu);

                    return $contenu;
            }
            • Partager sur Facebook
            • Partager sur Twitter
              22 avril 2006 à 16:44:49

              oui, le ENT_QUOTES compte, mais je comprend pas ce que tu fais là :
              $contenu = bbcode($_POST['message2'], ENT_QUOTES);

              ???

              EDIT : pour ton premier problème, essaies ceci :
              <?
              while ($donnees = mysql_fetch_array($reponse))
              {
                  ?>
                      <p>
                      <span style="color: white; font-weight: bold;"><hr /><? echo $donnees['pseudo2']; ?> a écrit : </span>
                      <span style=" color: white; font-weight: bold; font-size: 12px; font-style: italic;">le <? echo date('d/m/y', $donnees['timestamp']); ?> à <? echo date('H\hi', $donnees['timestamp']); ?></span>
                      <br /><br />
                      <? echo $donnees['message2']; ?>
                      <br /><br />
                      <strong>Note :</strong> <? echo $donnees['note']; ?></p>
                  <?
              }
              ?>

              et previens moi si cela fonctionne ou pas ! ;)
              • Partager sur Facebook
              • Partager sur Twitter
                22 avril 2006 à 16:53:51

                Ca marche pas, le problème est là

                <?
                while ($donnees = mysql_fetch_array($reponse))
                {
                    ?>
                        <p>
                        <span style="color: white; font-weight: bold;"><hr /><? echo $donnees['pseudo2']; ?> a écrit : </span>
                        <span style=" color: white; font-weight: bold; font-size: 12px; font-style: italic;">le <? echo date('d/m/y', $donnees['timestamp']); ?> à <? echo date('H\hi', $donnees['timestamp']); ?></span>
                        <br /><br />
                //ICI LE PROBLEME
                <? echo $donnees['message2']; ?>
                //ICI LE PROBLEME//
                        <br /><br />
                        <strong>Note :</strong> <? echo $donnees['note']; ?></p>
                    <?
                }
                ?>

                J'ai testé en suprimant echo $donnees['message2'] et ça marche impec sof que y a pas le message quoi ^^


                EDIT 2 :

                CA MARCHE !!
                • Partager sur Facebook
                • Partager sur Twitter
                  22 avril 2006 à 17:05:15

                  es-tu sûr que tu dois mettre un 2 ?
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Problème avec une page O_o

                  × 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