Ankündigung

Einklappen
Keine Ankündigung bisher.

Browser-History, Zurück-Button und Affenformular...

Einklappen

Neue Werbung 2019

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

  • Browser-History, Zurück-Button und Affenformular...

    Ich mache ein Webprojekt auf php basierend, mit einem Affenformular (alles in einem Skript, Switch/Case zur Auswertung, welcher Submit-Button geklickt wurde/welcher Inhalt ausgegeben werden soll, POST als Methode).
    Der Status der Seite vorher wird dabei auch noch in einem unsichtbaren Textfeld mitgeliefert - darauf basiert ein zweiter Submit-button, der für das Zurückblättern verwendet wird. funzt alles wunderschön.


    Mein Problem: Wenn die Benutzerin statt meines Zurück-Buttons in der Seite den Browser-Back-Button benutzt, kommt es zur Warnung, die Formulardaten müssten nochmals abgeschickt werden. Das wäre, wie gesagt, kein Problem - aber die Nutzerinnen werden wohl eher erschrecken als sich über die Warnung hinwegsetzen. Kann ich irgendwie das Verhalten des Back-Button beeinflussen, so dass er ohne weitere Interaktion die Daten der vorherigen Seite nochmals sendet (ist eh alles in der Session gespeichert)?

    vielen Dank für Ideen und Schubser in die richtige Recherche-Richtung...

  • #2
    https://de.wikipedia.org/wiki/Post/Redirect/Get

    Kommentar


    • #3
      Danke Dir, kannte ich nicht - sehe aber auch nicht, wie ich damit mein Problem löse... Erstens handelt es sich um ein Browser-Problem (er warnt vor einer erneuten POST-übermittlung, soll er aber nicht) und zweitens ja eben eigentlich um das genaue Gegenteil: Ich WILL, dass das Formular nochmals übermittelt werden kann? (Kann es auch - aber erst nach der Warnung durch den Browser und dann nochmaliges Klicken auf den reload-Button im Fall von Chrome.)

      Kommentar


      • #4
        Das ist eben das Standardverhalten eines Browsers beim Senden eines Formulars. Daran lässt sich nichts ändern. Die Frage ist eher, warum muss das Formular mit den selben Werten nochmal gesendet werden? Das ist doch überflüssig. Du kannst die Formularwerte ja am Server (z.B: in der Session) speichern.

        Kommentar


        • #5
          Äh, genau das mache ich ja. Ich habe keine Ahnung, warum der Browser bei einem «Zurück» in der history findet, dass er das Formular nochmals senden muss... Das muss mit dem Affenformular zusammenhängen: der URL bleibt eben immer index.php

          Kommentar


          • #6
            Zitat von pit66 Beitrag anzeigen
            Äh, genau das mache ich ja. Ich habe keine Ahnung, warum der Browser bei einem «Zurück» in der history findet, dass er das Formular nochmals senden muss...
            Genau dafür ist doch das Post/Redirect/Get-Pattern da, damit der Browser das Formular nicht nochmal abschickt.

            Kommentar


            • #7
              Ich kann irgendwie nicht folgen - ich will ja eigentlich, dass er das Formular nochmals schickt, aber eben mit den POST-Daten der vorhegerigen Seite. Er muss ja den gleichen URL aufrufen und dabei die vorherigen POST-Faten übergeben, damit das script mit Switch Case die gewünschte Seite zurückgibt - steh ich auf dem Schlauch?

              Kommentar


              • #8
                Wie ich bereits gesagt habe, ist das Standardverhalten des Browser. Dann darfst du eben nicht das gleiche Formular nochmal absenden.

                Kommentar


                • #9
                  Wird in Deiner Seite ein POST-Formular ausgeführt (neuer Seitenaufbau nach absenden des Formulars), dann wird der Browser immer warnen. Das wirst Du nur umgehen können wenn Du Deine Hintergrunddaten, mit GET händelst oder ggf. auch js-session (localStorage) nutzt.

                  Kommentar

                  Lädt...
                  X