Hallo mopzz
Da ich meinerseits immer mit FireFox arbeite ist mir das bisher nicht aufgefallen, aber durch Freunde wurde ich darauf aufmerksam gemacht und nachvollzogen:
Ist im
InternetExplorer7 ein Captcha bei der Eingabe oder Email nicht lesbar, nützt ein neuladen der Seite nichts, es wird immer das selbe Captcha dargestellt, auch schliessen des Browsers und neueinstieg zeigt immer noch das selbe Captcha.
Intressanterweise nützt auch ein Einfügen der Zeilen:
Code:
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
im Header nichts.
Einzig nach manuellem löschen des Cache im InternetExplorer wird danach ein neues Captcha generiert.
Gruss Walti
Hallo Walti,
danke für die Info. Das Problem ist mir jedoch bereits bekannt, und auch dass die Anweisung an den IE7 dass er den Cache leeren soll nichts nützt. Ich bin ratlos. Vielleicht weiß ja jemand hier Abhilfe? :kopfkratz:
Nachtrag: Ich habe die Lösung gefunden!
In die
newentry.php sowie in die
email.php muss man folgenden Code einbauen.
Code:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
Hab's mit IE7 getestet und hat funktioniert. Allerdings auch nur wenn man manuell auf "Aktualisieren" klickt. Das Captcha wird weiterhin nicht erneuert, wenn man eine falsche Angabe gemacht hat.
Probiert habe ich es nicht aber ich denke das könnte eine Lösung sein:
Ich habe den Code nicht näher untersucht ob das sehr aufwändig sein würde aber so auf die schnelle gesehen denke ich nicht: Da ist ja die Variable $captcha_img oder so was in der das Captcha generiert wird, wie wäre es wenn dieser Variable eine Random-Zahl z.b date(mit Uhrzeit) angehängt würde, so dass das Cache-Bild jedesmal einen anderen Wert/Namen hat ?
Durch diese Lösung würde nicht das gesammte Cache der Seite beeinträchtigt
PS: Ich habe das von Dir oben ausprobiert:
Code:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
funktioniert bei mir nicht, bringt keine Änderung !
Gruss Walti
Wo genau hast Du den Code eingebaut?
Wie du gschrieben hast im newentry und im mail, probiert habe ich es auch im header.tpl, sowie in der das ganze umgebenden Hauptseite in der das gb als iframe eingebunden ist.
Also bei mir sieht die
newentry.php z.B. jetzt so aus:
Code:
27 [...]
28 // show all errors
29 error_reporting(E_ALL & ~E_NOTICE);
30
31 header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
32 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
33
34 // check if MGB has been already installed
35 [...]
Und wie gesagt. Wenn ich dann mit dem IE7 einen neuen Eintrag machen möchte, und einen Rechtsklick mache, und auf "Aktualisieren" klicke, dann wird bei mir auch das Captcha aktualisiert. Keine Ahnung warum das dann bei Dir nicht funktioniert?! :kopfkratz:
Ok Danke, funzt bei mir jetzt auch, ich hatte das zuoberst in den Templates drin, das ging nicht, aber so geht es.
Danke schön, Gruss Walti