Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment effacer "$_POST" ?

...Pour ne pas passer par une page de traitement du post

Sujet résolu
    13 février 2006 à 17:50:00

    Edit : Oups désolé, la page ne semblait pas charger donc j'ai arrêté le chargement :/
    Sorry !

    Bien le bon moment du jour ou de la nuit.

    Avec une sorte de bbcode d'administration (d'où son nom général "ACode"), je fais que les posts de toutes sorte se retrouve dans une balise [ecrire:nouveau_topic:1] (par exemple, et le 1 est l'endroit où on poste.)

    Le tout se retrouve alors dans une balise <form method="post" action=""> habituelle, et le traitement se fait sur la même page.

    Le problème, vous pouvez l'imaginer, est que, si la personne veut actualiser la page, il se fait alors un double post.
    Je pourrais traiter le problème avec un traitement des doubles posts, mais bon c'est pas la joie.

    La solution ? Trouver un moyen d'effacer $_POST.

    Le problème ?
    $_POST = array();

    ne fonctionne pas :( Le navigateur me sort encore le message

    Citation : Navigateur Firefox

    La page que vous tentez de voir contient des données envoyés par POST.
    [...]



    Quelqu'un aurait une meilleur solution ?

    J'aimerais bien éviter d'avoir à passer par une page autre qui traiterait le post, mais s'il n'y a pas meilleure solution...
    • Partager sur Facebook
    • Partager sur Twitter
      13 février 2006 à 20:35:04

      Même problème, ça ne change rien.

      Hum. Je vais tester en enlevant aussi le HTTP_POST_VARS...

      Apparemment ça marche pas non plus.
      • Partager sur Facebook
      • Partager sur Twitter
        13 février 2006 à 21:07:44

        C'est quoi ton code ?

        if(isset($_POST))
        {
        echo 'contient encore des post' ;
        }

        $_POST existe toujours donc tu devrais faire if(!empty($_POST))
        • Partager sur Facebook
        • Partager sur Twitter
          13 février 2006 à 21:13:56

          pourquoi ne pas utiliser une redirection ?
          • Partager sur Facebook
          • Partager sur Twitter
            13 février 2006 à 21:27:50

            Pour éviter le double post, rien ne vaut une bonne redirection une fois que son message a été ajouté. Tu fais header("Location: page.php") ; une fois que le message est inséré dans ta bdd, le visiteur n'y voit que dalle, et son message est enregistré et il ne peut plus faire de double post ^^ . Magique :magicien:
            • Partager sur Facebook
            • Partager sur Twitter
              13 février 2006 à 21:29:48

              salut
              il faut traiter $_POST comme un tableau en lecture seule (récuperation de données), il est pas fait pour les manip. et puis, essaie de trouver un autre moyen pour éviter les doubles post, comme quoi, avant d'insérer essaie de faire un test si ca n'existe pas dans la base de données ^^
              a+
              • Partager sur Facebook
              • Partager sur Twitter
                13 février 2006 à 23:39:13

                Bon, j'ai l'impression que je n'ai pas le choix -> Redirection alors ^^
                Est-ce qu'on peut faire que la redirection n'est pas perçu du tout par le posteur ?
                • Partager sur Facebook
                • Partager sur Twitter
                  13 février 2006 à 23:41:27

                  Il aura peut être au grand maximum 1/2 secondes où il vera ta page, mais généralement c'est imperceptible ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 février 2006 à 23:53:32

                    Il suffit d'utilisation une bufferisation, dans ce cas :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 février 2006 à 0:26:18

                      Bon ben merchi je vais faire ça ! Mais peut-être pas la bufferisation, ça va être clair et net comme message.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Comment effacer "$_POST" ?

                      × 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