Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP2

amélioration

Sujet résolu
Anonyme
    2 avril 2006 à 22:13:24

    bonjour

    alors moi mon probleme est assez basique (je pense)
    je n'ai strictement aucune idée de la façon dont il faut procéder pour que le flood (ou ré-enregistrement du message lors d'une actualisation de la page) soit "bloqué"

    tout ce dont je pense etre sur est qu'il faut mettre le bout de code avant que le message ne soit enregistré :p
    vrai ??

    une petite/grande aide serait accueuillie avec ... grand plaisir ^^

    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      2 avril 2006 à 22:38:24

      Citation

      je n'ai strictement aucune idée de la façon dont il faut procéder pour que le flood (ou ré-enregistrement du message lors d'une actualisation de la page) soit "bloqué"


      pour eviter ca, il suffit de faire une redirection apres chaque message posté.

      Citation

      je n'ai strictement aucune idée de la façon dont il faut procéder pour que le flood (ou ré-enregistrement du message lors d'une actualisation de la page) soit "bloqué"


      pour eviter qu'on poste 2 fois la meme chose il faut que tu utilises SELECT COUNT(*) pour compter le nombre d'entrées dans ta table OU le pseudo est = $pseudo et si ce nombre est > a 0 tu interdit l'envoie d'un message.

      j'ai peut etre pas été très clair... si tu vois toujours pas, je peux te donner un bout de script
      • Partager sur Facebook
      • Partager sur Twitter
        3 avril 2006 à 11:58:45

        Le systeme de rdirection me semble le plus approprié. Quoi que sur un mini-chat c'est bof quand même vous trouvez pas?
        • Partager sur Facebook
        • Partager sur Twitter
          3 avril 2006 à 13:12:35

          Pourquoi ne pas essayer quelque chose comme ça ?

          $recup_dernier_mess = "SELECT * FROM minichat BY id DESC LIMIT 0, 1" ;
          $requete_sur_ancien_mess = mysql_query($recup_dernier_mess);
          $verif = mysql_fetch_array($requete_sur_ancien_mess);

          if ($_POST['pseudo'] != verif['pseudo'] OR $_POST['message'] != verif['message'])
          {
              mysql_query("INSERT INTO minichat VALUES ('', '$pseudo', '$message')");
          }


          Ceci te conviendrait-il ? :D

          A bientôt
          • Partager sur Facebook
          • Partager sur Twitter
            3 avril 2006 à 15:44:34

            Bonjour. Je recherchais justement comment sa marchais... Je viens d'essayer se que tu a mis comme code sa me donne :

            Parse error: parse error, unexpected '[' in /var/www/free.fr/8/e/amokia/scripts/shootbox/pager.php on line 37

            Voici mon code :

            Citation : pager.php

            <?php
            //---------------------------------------------------------------------
            // pager.php
            //
            // Cette page sert a enregistrer le message dans la base de donnée.
            // Tout est expliqué
            //---------------------------------------------------------------------

            //---------------------------------------------------------------------
            // Recherche des informations sur le serveur.
            //---------------------------------------------------------------------
            include("config.php");

            //---------------------------------------------------------------------
            // Connexion à la base.
            //---------------------------------------------------------------------
            mysql_connect("$host", "$username", "$password");
            mysql_select_db("$database");

            //---------------------------------------------------------------------
            // On vérifie que les variables éxistent.
            //---------------------------------------------------------------------
            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
            {

            //---------------------------------------------------------------------
            // On vérifie si il n'y a pas de HTML.
            //---------------------------------------------------------------------
            $message = htmlentities ($_POST['message']);
            $pseudo = htmlentities ($_POST['pseudo']);

            //---------------------------------------------------------------------
            // On enregistre dans la table et on vérifie si le message à dejà été posté.
            //---------------------------------------------------------------------
            if ($_POST['pseudo'] != verif['pseudo'] OR $_POST['message'] != verif['message'])
            {
            mysql_query("INSERT INTO $table VALUES('', '$pseudo', '$message', '$date')");
            }

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

            ?>

            <form action="pager.php" method="post">

            <p>
            <input type="text" name="pseudo" size="10" value="Pseudo">
            <input type="text" name="message" size="50" value="Message">

            <input type="submit" value="Envoyer">
            </p>

            </form>

            • Partager sur Facebook
            • Partager sur Twitter
              3 avril 2006 à 17:35:19

              Je crois que tu n'as pas mis les variables que j'avais écrite ...

              $recup_dernier_mess = "SELECT * FROM minichat BY id DESC LIMIT 0, 1" ;
              $requete_sur_ancien_mess = mysql_query($recup_dernier_mess);
              $verif = mysql_fetch_array($requete_sur_ancien_mess);


              Essaye en ajoutant ça dans ton code

              A bientôt
              • Partager sur Facebook
              • Partager sur Twitter
                3 avril 2006 à 18:54:00

                Toujours la meme erreur.

                Merci de m'aider svp... :-°
                • Partager sur Facebook
                • Partager sur Twitter
                  3 avril 2006 à 20:12:48

                  Poste nous ton code en entier avec les couleurs et en indiquant quelle ligne foire.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    5 avril 2006 à 15:38:48

                    dsl j'étais absent un petit temps ^^
                    nouvelle idée ??
                    est-ce que vider la variable $message lorsqu'on appui sur "envoyer" suffirait à ce que le message ne soit pas réenvoyer en cas de F5 ??
                    si oui pouvez vous me dire comment faire ??
                    merci
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      5 avril 2006 à 15:41:58

                      Moi, j'utiliserais un syteme de session comme ça sur la page de rédaction tu met le statut 1 à ta varialbe de session et pour l'enregistrement, tu n'autorises que l'enregistrement si la variable de session vaut 1 et si tu enregistres, tu remets la valeur 0 à ta variable de session...
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        5 avril 2006 à 15:50:14

                        euh oui mais il y a moyen de faire sa sans les sessions ??
                        - je sais pas comment ça marche
                        - je préfere faire un site ou il n'y a pas besoin de s'inscrire
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          5 avril 2006 à 15:53:15

                          Mais il n'y a pas besoin de s'inscrire...
                          Je parle d'une variable de type $_SESSION['poster'] .
                          Sinon, il y a la solution de passer par une page intermédiaire pour poster...
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            5 avril 2006 à 15:54:49

                            tu pourrais me mettre le code parce que j'ai un peu bcp de mal a te suivre ??
                            ou sinon passe ton msn pour m'expliquer se sera plus simple que sur le forum
                            comme tu veux
                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 avril 2006 à 16:02:28

                              Citation

                              euh oui mais il y a moyen de faire sa sans les sessions ??
                              - je sais pas comment ça marche
                              - je préfere faire un site ou il n'y a pas besoin de s'inscrire


                              Les sessions ne servent pas qu'a inscrire
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                5 avril 2006 à 16:05:46

                                oké mais quelqu'un pourrait etre plus précis sur le code ??
                                • Partager sur Facebook
                                • Partager sur Twitter

                                TP2

                                × 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