php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
  #1 (permalink)  
Alt 02-08-2007, 18:04
hamoda108
 Newbie
Links : Onlinestatus : hamoda108 ist offline
Registriert seit: Feb 2006
Beiträge: 25
hamoda108 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Warnmeldung bei Formular-Reload verhindern

Folgende Situation: Jemand füllt auf meiner Seite ein POST-Formular aus und schickt dies ab. Danach lädt er die Seite, auf die das Formular verwiesen hat, neu. Dies geschieht entweder unmittelbar nach dem Abschicken des Formulars durch Reload oder später durch die Zurück-Schaltfläche. Folge: Der bekannte Warndialog erscheint, der einem mitteilt, dass die Formulardaten erneut gesendet werden, wenn man den Dialog mit OK bestätigt.

Es ist mir zwar bereits gelungen, zu verhindern, dass das erneute Absenden des Formulars durch OK auch zur Verarbeitung der Daten durch das Skript führt (durch Abgleich einer mitgesendeten Variable mit einer entsprechenden Session-Variable), ich bin aber noch nicht ganz zufrieden. Erstens funktioniert das nur bei aktivierten Cookies und zweitens nervt die Meldung beim Rückwärtsnavigieren.

Frage: Gibt es eine Möglichkeit, den Browser "vergessen" zu lassen, dass eine aufgerufene Seite POST-Daten enthielt, nachdem diese bereits erfolgreich verarbeitet wurden? Oder gibt es eine andere Alternative? Wenn man z.B. bei Google eine Suchanfrage stellt, dann kann man da problemlos reloaden bzw. zurück navigieren, ohne dass die Warnung erscheint (genauso will ich das auch). Vielleicht liegt das daran, dass die ein GET-Formular verwenden, aber GET in komplexen Formularen erscheint mir nicht ganz praktikabel...
Mit Zitat antworten
  #2 (permalink)  
Alt 02-08-2007, 18:08
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

bau eine weiterleitung mit header (...) ein, wenn das formular erfoglreich abgearbeitet worden ist.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 02-08-2007, 20:39
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Huch... da bin ich aber anderer Meinung!
Grundsätzlich halte ich Weiterleitungen, auf die eigene Domain, für flüssiger als Wasser, also für überflüssig.

Die Meldungen treten eigendlich nur in verbindung mit Sessions auf. Die dusselige Sessionverwaltung schraubt (etwas zu doll) an den Headern.

PHP-Code:
error_reporting(E_ALL);
session_cache_limiter('none');//none/nocache/private/private_no_expire/public
session_start();
header('Cache-Control: no-store');
header('Pragma: no-cache'); 
Biegt das wieder hin.
Kann auch gerne hier getestet werden: http://www.technischedaten.de/pmwiki...teBuchSchlicht
__________________
Wir werden alle sterben

Geändert von combie (02-08-2007 um 20:44 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 02-08-2007, 20:45
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Die Meldungen treten eigendlich nur in verbindung mit Sessions auf
nö, tut sie nicht. die meldung tritt wie unten beschrieben immer beim reload eines bereits abgesendeten formulars auf.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 02-08-2007, 20:47
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Keine Ahnung was deine Spielerei an den Headern bringen soll combie, aber im FF2 hab ich das Problem sowohl bei deinem GB, so wie auch wenn ich deinen Code in einer beliebigen Website einbaue.
(Mal abgesehen davon, dass sich die Cache-Header praktisch gar nicht ändern... zumal ich nicht verstehe was die Cache-Header mit dem erneuten Senden von POST-Daten zutun haben soll)
Mit Zitat antworten
  #6 (permalink)  
Alt 02-08-2007, 20:55
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Rückwärtsgang....!!
Mit dem neuesten Updates des FF tritt es wieder auf!
Da hat sich was geändert!
Aber mein IE und Opera bleiben weiterhin ruhig.

Nunja.. werde ich wohl noch mal dran arbeiten müssen...
(oder vergessen)

Zitat:
zumal ich nicht verstehe was die Cache-Header mit dem erneuten Senden von POST-Daten zutun haben soll
Schau dir mal die gesendeten (session original)Header mit der LifeHeaders Erweiterung von FF an, dann siehst du dass Postcheck oder so ähnlich, auf 0 gesetzt wird.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #7 (permalink)  
Alt 02-08-2007, 21:25
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
Schau dir mal die gesendeten (session original)Header mit der LifeHeaders Erweiterung von FF an, dann siehst du dass Postcheck oder so ähnlich, auf 0 gesetzt wird.
Und?
Ich möchte behaupten, dass du keine Ahnung hast was dieser Header bedeutet...

Es hat mich jetzt eine Viertel Stunde gekostet das raus zu finden, denn es ist kein offizieller Header der in den RFCs definiert ist...
Genau genommen ist es ein "Feature" unseres allseits beliebten Browser IE und wird seit der Version 5 unterstützt. Das Feature wurde von ihnen "lazy update" getauft und hat einfach rein gar nichts mit den Post-Daten zutun!
Nähere Informationen finden sich hier:
http://msdn2.microsoft.com/en-us/library/bb250440.aspx

Da es ein reines Feature vom IE ist möchte ich mir anmaßen zu behaupten, dass der FF es sowieso komplett ignoriert, auch wenn ich es nicht weiß.

Aber mal ganz abgesehen davon, die Fehlermeldung kommt bei mir auch im IE7 in deinem Gästebuch.
Mit Zitat antworten
  #8 (permalink)  
Alt 02-08-2007, 21:26
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Nachtrag:
PHP-Code:
error_reporting(E_ALL);
session_cache_limiter('private'); // none/nocache/private/private_no_expire/public
session_start();
// header('Cache-Control: no-store');
// header('Pragma: no-cache'); 
Damit klappts jetzt auch mit dem neuen FF
(Opera kann ich gerade nicht testen)
__________________
Wir werden alle sterben

Geändert von combie (02-08-2007 um 21:30 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 02-08-2007, 21:31
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
Damit klappts jetzt auch mit dem neuen FF
Nein tut es nicht.
Mit Zitat antworten
  #10 (permalink)  
Alt 02-08-2007, 21:41
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Bei mir Ja! (das online Gästebuch ist noch nicht geändert)
Aber was solls.. werde mich nochmal in Ruhe daran begeben.
mal schauen, obs was bringt.
Im Moment habt ihr wohl recht!


ps:
http://msdn2.microsoft.com/en-us/library/bb250440.aspx
Da ist die Rede von einem Meta Tag, oder habe ich was übersehen?

Hier gibts einiges dazu: http://www.googlesyndicatedsearch.co...+no-store+http


pss:
Beim Back Button gibts die Meldung nicht mehr, aber beim F5(reload) leider immer noch
__________________
Wir werden alle sterben

Geändert von combie (02-08-2007 um 21:49 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 02-08-2007, 21:44
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
ps:
http://msdn2.microsoft.com/en-us/library/bb250440.aspx
Da ist die Rede von einem Meta Tag, oder habe ich was übersehen?
Du hast den Artikel offensichtlich nicht mal vollständig überflogen!

Wie du von post-check auf den no-store Header kommst ist mir jetzt gerade auch schleierhaft...
Mit Zitat antworten
  #12 (permalink)  
Alt 02-08-2007, 23:44
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von combie
Beim Back Button gibts die Meldung nicht mehr, aber beim F5(reload) leider immer noch
Wieso eigentlich "leider"?

Das ist doch ein absolut wünschenswertes Verhalten - gerade um mich in solchen Fällen wie Einträgen in Gästebüchern, Postings in Foren etc. davon abzuhalten, das Gleiche noch mal zu Posten.

Es "abschalten" zu wollen, erscheint mir ehrlich gesagt reichlich meschugge.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 03-08-2007, 00:12
hamoda108
 Newbie
Links : Onlinestatus : hamoda108 ist offline
Registriert seit: Feb 2006
Beiträge: 25
hamoda108 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ähm, sorry dass ich mich einmische, ich bins wieder, der threadöffner. ich gebe zu, dass ich ein bisschen stolz bin, als newbie wohl offenbar ne voll schwierige profifrage gestellt zu haben. hätte nicht gedacht, dass das problem so kompliziert und unergründet ist, dass selbst die chefs in sachen header und so an ihre grenzen kommen. ich meine, die erfinder von dem internet hätten sich doch denken können, dass das mit der warnung beim reload echt nervt, warum haben die das nicht gleich abgeschaltet? hat doch keiner was von...

für mich bleibt die frage, wie ist nun der workaround dafür? ich kann hier irgendwie leider nichts gscheides beisteuern, weil ich hab eben keine ahnung. aber eure beiträge zu studieren bringt mich irgendwie auch keiner lösung näher (ich freu mich natürlich, dass ihr hirnfutter habt.) ich würde ja auch alleine weiter recherschieren, aber ich weiß nicht mal in welche richtung. hat jemand n tip? ach so, ja wie gesagt, eine lösung die von sessions abhängig ist, würde ich gerne vermeiden, wenns geht...

vielen dank
Mit Zitat antworten
  #14 (permalink)  
Alt 03-08-2007, 00:23
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
bau eine weiterleitung mit header (...) ein, wenn das formular erfoglreich abgearbeitet worden ist.

gruß
peter
Mit Zitat antworten
  #15 (permalink)  
Alt 03-08-2007, 01:29
hamoda108
 Newbie
Links : Onlinestatus : hamoda108 ist offline
Registriert seit: Feb 2006
Beiträge: 25
hamoda108 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@ghostgambler: Meinst du sowas?:
PHP-Code:
<?php
  
if (isset($_GET['danke'])) echo "Danke für den Eintrag!<br />";
  if (
$_POST) {
    
// Daten werden hier verarbeitet
    
header('Refresh: 0; url=formular.php?danke');
    exit;
  } else {
    echo 
"<form action='formular.php' method='post'>";
    echo 
"<input type='text' name='eingabe' />";
    echo 
"<input type='submit' value='abschicken' /></form>";
  }
?>
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:03 Uhr.