Frage

Mein Problem ist, dass der Back -Button dazu führt, dass der Browser etwas wie "Seite abgelaufen" sagt, wenn die vorherige Seite mit einem Formular erstellt wurde.

Beispiel:

  • Seite1: Formular mit Suchkriterien übermittelt ($ _POST -Anforderung, Formularpunkte auf Seite 2)
  • Seite 2: Empfängt $ _Post -Anforderung und anzeigen Ergebnis (Liste der Benutzer mit Links, zeigt auf Seite3).
  • Seite3: Benutzerprofil anzeigen

Wenn der Besucher nun auf die Schaltfläche zurück im Browser klickt, wird so etwas wie "Seite abgelaufen" angezeigt.

Stattdessen sollte die vorherige Seite ohne Warnungen angezeigt werden (Seite 2 mit der Benutzerliste)

Wie sind Ihre Strategien, um dieses Verhalten zu umgehen?

War es hilfreich?

Lösung

Wenn Sie eine für Suchparameter einreichen, versuchen Sie es erhalten Einige Daten, nicht ändern.

Sie sollten also die HTTP -GET -Methode verwenden und nicht post: post sollte verwendet werden, wenn Sie die Daten erstellen/ändern möchten, und das Get sollte verwendet werden, wenn Sie einige Daten abrufen möchten.


Oder wenn Sie eine Erstellung/Änderung des Vorgangs haben, der ausgeführt werden muss:

  • Das Formular Erstposts zu einer ersten Seite
    • Diese Seite führt einige Operationen aus (wie etwas in eine Datenbank schreiben)
    • Und leitet dann mit a zu einer anderen Seite um Location HTTP -Header.
  • Es ist diese letzte Seite, die Abfragen des Browsers unter Verwendung einer GET -Anforderungen, auf der die Daten angezeigt werden, die aus den in der URL empfangenen Parametern abgerufen wurden.

Siehe das Post/Weiterleiten/Get Seite über Wikipedia, darüber.

Andere Tipps

Ich habe dies mit einer Spalte in einer SharePoint-Liste und der Funktionalität von "Workflow-Lookups" erfahren.Ich habe eine Liste "WFCONTACTSLIST" mit einer "CcEMAIL-Spalte" erstellt. Hinweis, dass sich das in derselben Site-Sammlung wie die Liste befinden muss, die den zugehörigen Workflow hat. In der Spalte "CCEMAIL" können Sie mehr als eine E-Mail (das meine repräsentiertGruppe) Durch die Trennung von E-Mails mit einem Halbdickpunkt. Ein Bonus für mich ist, dass ich Einzelpersonen in der CC-Gruppe leicht verändern kann, indem ich meine WFCONTACTSlist bearbeiten kann. Hoffnung, die hilft.

Verwenden Sie keinen Beitrag zur Suche. Die Suche kann sicher mit Get durchgeführt werden, da sie nichts verändert.

Dies gilt für PHP und IE8.

Sie müssen nicht nur das Cache auf privat einstellen, sondern müssen auch die 4 Cacheeing -Header entfernen. Dies kann nur mit PHP 5.3 erfolgen. In PHP 5.2 können Sie die 4 Header nur auf leere Werte einstellen, wenn die Setheader () -Methode des Zend Frameworks verwendet wird. Aus irgendeinem Grund reicht auf IE8 nicht aus, um die 4 Header -Werte auf leere Werte einzustellen. Hier ist der Code für PHP 5.3:

    header_remove("Expires");
    header_remove("Cache-Control");
    header_remove("Pragma");
    header_remove("Last-Modified");

Sie können eine Sitzung verwenden, um dies zu tun.

z.B.

$ _Session ['name'] = $ _post ['name'];

Erinnern Sie sich daran, Ihre Variablen nach Abschluss des Vorgangs zu verunsichern, um die Speicherverwendung zu optimieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top