POST-Daten nicht nochmal senden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • POST-Daten nicht nochmal senden

    Hi,
    ich habe folgendes Problem. Ich habe ein Forum gebastelt und habe für das Schreiben eines Posts eine Datei newpost.php mit einem Formular. Der Inhalt dieses Formulars wird mit method=post an posting.php gesendet. Diese Datei trägt das ganze in die Datenbank ein und leitet einen dann nach 3Sekunden zu threadview.php weiter wo man den Thread wieder ansehen kann. Das funktioniert auch aloles wunderbar.

    Jetzt ist es aber so, dass der Browser fragt ob die Post-Daten nochmal gesendet werden sollen, wenn man den Zurück-Button des Browsers benutzt. Das soll nicht passieren, da der Post dann nochmal eingetragen werden würde und diese Dialogbox einfach stört.

    Ich hab mir das mal im phpBB angesehen. Dort ist es so, dass man auf die Seite kommt auf der man den Beitrag schreibt wenn man den Zurück-Button benutzt. Weiß jemand wie ich das so hinbekomme?

  • #2
    Wie machst du denn die weiterleitung?

    Kommentar


    • #3
      PHP-Code:
      echo "<script language=\"javascript\">setTimeout(\"location.href='threadview.php?id=$threadid'\", 3000);</script>" 

      Kommentar


      • #4
        Versuch es mal mittels Header.

        PHP-Code:

        header
        ('LOCATION: h**p://www.adresse.de/wasweissich'); 
        Ich weiß allesdings nicht ob das zum Erfolg führt.

        Kommentar


        • #5
          $_SESSION

          wär ne Möglichkeit. du könntest ne session variable setzen, das
          gerade ein Eintrag erfolgte. Beim erneuten Scriptaufruf
          könnteste damit die Datenbankfunktion sperren.

          Kommentar


          • #6
            Das wäre ne Möglichkeit. Allerdings fragt er dann immernoch ob er die Daten nochmal schicken soll. Kann man das löschen oder die Seite wie beim phpBB überspringen?

            Kommentar


            • #7
              Kann man das löschen oder die Seite wie beim phpBB überspringen?
              ein bisschen abgucken im code von phpBB könnte da helfen...
              2 meiner pages:

              Kommentar


              • #8
                Dann versuch mal im phpBB Code was zu finden. Ich weiß nicht wie die das gemacht haben. Ich hab den Code auch schon durchsucht aber nichts gefunden.

                Kommentar


                • #9
                  sch mal hier

                  im Forum

                  Kommentar


                  • #10
                    Den Thread hab ich schon gefunden aber irgendwie ist es nicht die Lösung die ich brauche. Das Hauptproblem ist ja, dass die Seite posting.php beim zurück gehen nochmal geladen wird und er dann fragt ob die Post-Daten nochmal gesendet werden. Doppelte Posts kann man zwar mit den genannten Mittel leicht verhindern. Aber es gibt einige Leute (mich eingeschlossen), die sich durch Foren mit dem Zurück-Button bewegen. Und dann wird die Seite vom Server nachgeladen und der besagte "POST nochmal schicken"-Dialog erscheint. Und das stört. Beim Internet Explorer ist es dann, glaube ich, auch so, dass so eine Fehlerseite ausgegeben wird.

                    Wenn ich die Seite lokal teste ist das kein Problem weil die Seite nicht nachgeladen wird wenn man zurück geht, sondern einfach aus dem Cache geladen wird. Deshalb auch keine Dialogbox. Kann man das erzwingen, damit das auch so ist wenn sie auf dem Server liegt?

                    Kommentar

                    Lädt...
                    X