 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
19.05.2006, 14:26
|
#1
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
zurück Button Probleme
Wenn ich über meine Formularfelder eine Suchabfrage starte, das Ergebnis anzeigen lasse und anschließend den zurück - Button des Browsers drücke, dann kommt immer folgende Fehlermeldung:
Zitat:
|
Die Seite, die Sie versuche zu laden, wurde aus POST-Daten erstellt, die im Cache abgelaufen sind. Wenn Sie die Daten nochmals senden, wird jede Aktion, die das Formular ausgeführt hat (wie eine Suche oder ein Online-Einkauf), noch einmal durchgeführt. Um die Daten nochmals zu senden, klicken Sie OK.
|
Gibt es irgendeinen Trick so dass ich den zurück-Button benutzen kann, obwohl vorher Daten via POST verschickt wurden?
Leider wird der zurück-Button von den Usern immer wieder gerne genutzt weshalb ich eine Möglichkeit schaffen muss diese blöde Fehlermeldung zu umgehen.
Wer kennt eine Lösung?
|
|
|
19.05.2006, 14:32
|
#2
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
|
Zitat von dieter99
Wer kennt eine Lösung?
|
Soweit ich weiß kann man die Meldung weder abstellen noch umgehen. Da wirst Du schon einen manuellen Link setzen müßen oder mit einem Header umleiten. (Falls es sowas wie eine Antwortseite eines Mailer ist oder so etwas in der Art)
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.
|
|
|
19.05.2006, 15:26
|
#3
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von Rizzo
oder mit einem Header umleiten.
|
Ich hab`s jetzt mit einem Header probiert, doch das Problem besteht nach wie vor.
zuerst hatte ich auf der seite test1.php einen link "test2.php?id=1". hat man drauf geklickt dann wurde die seite test2.php geöffnet.
nun habe ich den link wieder auf die gleiche seite (test1.php) gelenkt. dort hab ich eine abfrage gemacht:
if (isset($_GET[id]))
{
header("Location: test2.php?id=$_GET[id]");
}
Er öffnet mir zwar test2.php, wenn ich aber den zurück Button drücke dann kommt wieder die oben genannte Fehlermeldung :-(((
|
|
|
22.05.2006, 12:07
|
#4
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
hat irgendjemand noch eine idee was ich machen kann?
|
|
|
22.05.2006, 14:31
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
das geht nicht über die JS-Methoden.
Du kannst nur die JS-History löschen, damit der Button unwirksam wird und einen echten zurücklink ins Dokument schreiben.
|
|
|
22.05.2006, 15:45
|
#6
|
|
TP-Member
Registriert seit: Aug 2005
|
Wie wäre es aber, wenn du ein Cookie oder eine Session setzt und damit überprüfst ob der User die Seite schon mal betreten hat. Wenn ja, wird das Postereignis nicht ausgeführt, ansonsten schon.
Code:
<?php
ob_start();
$time = 12*60*60;
if(!empty($_COOKIE['sperre'])) {
echo "Du warst schon mal hier.";
}
else {
echo "Du warst noch nicht hier, aber reloade mal!";
setcookie("sperre","sperren",time()+$time);
}
?>
Ist zwar nicht die feine Art, aber zumindest wird das Formular nicht erneut abgeschickt.
Mfg. -Andi-
|
|
|
22.05.2006, 17:30
|
#7
|
|
TP-Insider
Registriert seit: Dec 2001
Ort: Oberfranken
|
Zitat:
|
Zitat von -Andi-
Wie wäre es aber, wenn du ein Cookie oder eine Session setzt und damit überprüfst ob der User die Seite schon mal betreten hat. Wenn ja, wird das Postereignis nicht ausgeführt, ansonsten schon.
|
Und was mache ich wenn der User die Seite ein zweites Mal aufruft (über die Navigation z.B.) um eine zweite Abfrage zu starten? Dann wird der Request nicht ausgeführt weil der User die Seite schon einmal besucht hatte.
|
|
|
23.05.2006, 08:42
|
#8
|
|
TP-Member
Registriert seit: Aug 2005
|
Hmm. Dann setze das Cookie nur für ein paar Minuten.
Oder du nutzt den HTTP Referer.
Du prüfst von wo der User auf die Seite will und sperrst die erneute Abfrage, wenn der User von deiner Ergebnisseite kommt.
Code:
$herkunft=$_SERVER[HTTP_REFERER];
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:43 Uhr.
|
 |