Zum Inhalt springen

[PHP] "Webseite ist abgelaufen" vermeiden

Empfohlene Beiträge

Hallo,

habe auf einer Seite eine Suche implementiert über ein <form> mit method="POST". Nach Absenden des Forms werden die Suchergebnisse angezeigt. Neben jedem Ergebnis gibt es einen "Details"-Link, über den er auf einer andere Seite springt und Details anzeigt. Kommt der Benutzer nun in Versuchung, den "Zurück"-Button des Browsers zu verwenden, um zur Ergebnisseite zurückzugehen, kommt im IE eine schöne fenstergroße Meldung "Webseite ist abgelaufen", der FireFox + Opera bringen eine Dialogbox. Nun natürlich meine Frage - wie verhindere ich das?

Umstellen der Method auf "GET" kommt nicht in Frage. Kann man irgendwie Header senden, die das regeln?

Danke + Gruß!

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

sieh dir bitte zuerst mit z.b. httpliveheaders an, was der webserver exakt liefert (HTTP 200, 304). welche IE-version verwendest du? die angegebene meldung kenne ich nicht, allenfalls diese, dass bei einem reload der vorigen seite gefragt wird, ob ein HTTP POST erneut abgesetzt werden soll.

s'Amstel

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Es wird ein HTTP 200 gesendet laut liveHTTP.

Es ist wohl auch diese Meldung, dass POST-Daten noch einmal gesendet werden sollen, nur unter IE 7 heißt das seitenfüllend "Seite ist abgelaufen". Nach einem Reload sind die Daten wieder da - aber für den Benutzer ist es natürlich nicht schön...

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Nun natürlich meine Frage - wie verhindere ich das?

Nein, denn das hat mit deiner Seite nichts zu tun und ist eine "Vorsichtsmaßnahme" des Browsers, um zu verhindern, dass Formulare 2mal abgesendet werden.

Bzw ja... du kannst es verhindern indem du die Ergebnisseite nicht direkt nach dem Klick auf den Button anzeigst. Also die Actionseite bestimmt das Ergebnis und leitet aber den Browser nur um zu einer Seite, wo das angezeigt wird, sendet also nur einen


header("location: ....");

Damit ist die Ergebnisseite nie die, die per Post erreicht wurde und somit kommt diese Meldung nicht mehr.

Wie du das in deiner Anwendung regelst kann ich dir so aber nicht sagen ;)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Deine Meinung

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich an , um mit Deinem Konto zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung