hawkmaster1: Dokument erloschen, Webseite abgelaufen

Hallo zusammen,

bei einer kleinen Intranet Anwendung erscheint sowohl im IE als auch im Firefox immer "Dokument erloschen bzw. Webseite abgelaufen", wenn man auf den "Seite zurück" Button im Browser klickt. Es gibt keine "Header()" oder Cache Angaben im PHP Code der Seite.

Was kann die Ursache sein bzw. was kann man noch überprüfen?

Danke Gruss hawk

  1. Was kann die Ursache sein bzw. was kann man noch überprüfen?

    Das fragliche Dokument wurde vermutlich durch einen POST-Request erzeugt. Lösung:

    https://en.wikipedia.org/wiki/Post/Redirect/Get

    1. Hallo,

      Das fragliche Dokument wurde vermutlich durch einen POST-Request erzeugt. Lösung:

      ja auf dem Formular bzw. Seite gibt es schon submit Input Buttons. In deinem erwähnten Artikel finde ich jedoch keine Lösung sondern nur eine Beschreibung des Verhaltens.

      PS: ich leite überigens nicht auf eine andere PHP Seite weiter wenn du das meinst. Ich bleiber immer auf der gleichen Seite.

      Gruss hawk

      1. Hallo hawkmaster1,

        PS: ich leite überigens nicht auf eine andere PHP Seite weiter wenn du das meinst. Ich bleiber immer auf der gleichen Seite.

        Das ist dann zwar die gleiche Seite, aber nicht mehr dieselbe, weil sich ja die Inhalte zwischendurch geändert haben.

        Bis demnächst
        Matthias

        --
        Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
      2. Hi,

        Das fragliche Dokument wurde vermutlich durch einen POST-Request erzeugt. Lösung:

        In deinem erwähnten Artikel finde ich jedoch keine Lösung sondern nur eine Beschreibung des Verhaltens.

        doch, die Lösung ist gleich im ersten Abschnitt beschrieben: Das verarbeitende Script soll nicht direkt die Antwortseite liefern, sondern einen Redirect, so dass der Browser mit einem zweiten Request automatisch den neuen, aktuellen Stand per GET abholt.

        PS: ich leite überigens nicht auf eine andere PHP Seite weiter wenn du das meinst. Ich bleiber immer auf der gleichen Seite.

        Ja und?

        Ciao,
         Martin

        --
        Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
        - (frei übersetzt nach Douglas Adams)
        1. Hallo zusammen, danke für die Tipps,

          doch, die Lösung ist gleich im ersten Abschnitt beschrieben: Das verarbeitende Script soll nicht direkt die Antwortseite liefern, sondern einen Redirect, so dass der Browser mit einem zweiten Request automatisch den neuen, aktuellen Stand per GET abholt.

          hmm, das ist mir noch nicht ganz klar was man da jetzt im Code umbauen müsste.

          kann es nicht auch nur daran liegen das die PHP Seite SESSIONS benutzt. ich habe ein wenig gegoogelt und hier meinen viele man sollte ein ini_set('session.cache_limiter', 'private'); vorher einbauen?

          Gruss hawk

          1. Hallo und guten Aband,

            hmm, das ist mir noch nicht ganz klar was man da jetzt im Code umbauen müsste.

            kann es nicht auch nur daran liegen das die PHP Seite SESSIONS benutzt.

            Es hat durchaus etwas mit dem Cache zu tun. Es hat auch etwas mit den Cookies zu tun, die PHP für das Sessionmanagement schickt. Und es hat mit den Headern zu tun, die in den drei Stages Form, Response auf Form-Request und erneuter Response auf den (vermutlich) erhaltenen Umleitungswunsch (Get) enthalten sind.

            Grüße
            TS

            --
            es wachse der Freifunk
            http://freifunk-oberharz.de
            1. Hallo zusammen,

              mit einem:

              ini_set('session.cache_limiter', 'private');
              

              konnte ich nun das Problem lösen. Bzw. die Meldung "Dokument erloschen" erscheint jetzt nicht mehr.

              Gruss hawk

      3. Das fragliche Dokument wurde vermutlich durch einen POST-Request erzeugt. Lösung: ja auf dem Formular bzw. Seite gibt es schon submit Input Buttons.

        Das hat damit nur indirekt zu tun. Du könntest das Formular ja auch per GET schicken. Es gibt aber viele Gründe, warum man das je nach Fall nicht will. Bei einem Bestellformular will man POST, bei einer Suche wohl eher GET.

        In deinem erwähnten Artikel finde ich jedoch keine Lösung sondern nur eine Beschreibung des Verhaltens.

        1. Client schickt POST zum Server
        2. Server verarbeitet die Daten und schickt dem Client via 302/302 die Aufforderung, die Adresse zu wechseln
        3. Der Client folgt der Anweisung und schon bist Du aus dem "POST-Kontext" raus. Die Kette musst Du natürlich über Anzahl Stufen X durchziehen, dann kann der Client beliebig vor- und zurück navigieren, ohne dass der Post hier von belang ist. Das läuft sehr stabil. Irgendjemand hier erwähnte letztens, dass es vor 15 Jahren mal Browser gab, die das nicht sauber gefressen haben.