Hallo!
Vielleicht solltest Du Dich gar nicht darum kümmern, ob ein Besucher mit "Refresh" nochmals denselben Artikel in den Warenkorb fügt. Er kanns ja dann selbst sehen im Warenkorb und am Preis nach sieht er es ja auch... Es handelt sich hier ja nicht direkt um das verhindern eines Benutzerfehlers, der nicht mehr rückgängig gemacht werden könnte. -> du hast das Problem ja selbst erkannt: Wie solltest Du feststellen können ob es gewollt oder ungewollt ist. Den Refresh an und für sich kannst Du (IMO) _nicht_ feststellen
Wieso nicht? Man kann nur nicht unterscheiden, ob jemand auf einer Seite auf denselben Link klickt, wei auf der Seite davor, oder ob es sich um ein Refresh handelt. Da ich ersteres mal ausschließen möchte, sollte es eindeutig sein, oder?
Und selbst das könnte man mit dem Referer herausbekommen, nur ist der ja leider nicht sicher, daher lase ich Ihn lieber außen vor - auch ohne ist mir das sicher genug.
AHA :-) und plötzlich sind wir wieder beim Thema: "Wie verhindere ich mehrfaches Absenden eines Formulars?"
Ja, aber da ist es nicht ganz so wichtig, da ich hier die besagte obere Funktion(gewünscht oder nicht) nicht brauche, daher kann ich hier überprüfen, ob die Werte gleich oder nicht.
Falls Du es nicht wissen solltest: Du hast auch andere Umgebungsvariablen wie nur REQUEST_URI. Versuchs z.B. mal mit: $HTTP_POST_VARS etc. ;-)
Das Leben kann so blöd sein - wie doof bin ich denn heute - klar ;-)))
Das kombiniert mit $PHPSELF sollte recht eindeutig sein.
Jetzt bleibt nur noch die Frage, wie ich die Daten speichere.
Ich muß das ja später vergleichen, am besten kopiere ich sämtliche $_POST bzw. $_GET Variablen in einen Prüf-Array, und füge $SCRIPT_URI an den Array an, speicher den Array in der Session, und prüfe das auf der nächsten Seite, oder? Oder doch nur die Prüfsumme? Was meint Ihr?
Zeit zu speichern bringt wohl NULL Verbeserung, oder?
Viel Grüße
Andreas