HTTPS + Flash + IE + Dynamic XML = Bug

Hallo,

Wir haben für unseren Shop www.domain.de ssl aktiviert und im Header ein Flash Element eingebunden. Läuft auch alles zu unserer Zufriedenheit.
Öffnet man die Seite allerdings im IE, navigiert dann beispielsweise zu einer Kategorie und dann zurück auf die Startseite, wird das Flash nicht mehr geladen.
Ich habe versucht das mit “nocache” und “pragma” zu unterbinden, das scheint aber nicht zu funktionierten.
Unter http://www.pasz.com/blog/2007/03/https-flash-ie-dynamic-xml-bug.html habe ich einen Artikel gefunden, der zu passen scheint und dort steht auch eine Lösung. Allerdings weiss ich nicht wie ich diese umsetzte kann.
Konkret steht dort:

Adding these two lines to your page rendering PHP fixes the problem the problem:

header(“Cache-Control: cache, must-revalidate”);
header(“Pragma: public”);

Da ich gerade anfange mich mit der Materie auseinander zu setzen, weiss ich nicht welche Datei dies im Shop sein soll und ob das bei Oxid überhaupt läuft?
Vielleicht hat schon jemand Erfahrung damit gemacht und kann uns helfen?
Mit freundlichen Grüßen

Benjamin

[QUOTE=derNager;15722]Hallo,

Wir haben für unseren Shop www.sensorshop24.de ssl aktiviert und im Header ein Flash Element eingebunden. Läuft auch alles zu unserer Zufriedenheit.
Öffnet man die Seite allerdings im IE, navigiert dann beispielsweise zu einer Kategorie und dann zurück auf die Startseite, wird das Flash nicht mehr geladen.
Ich habe versucht das mit “nocache” und “pragma” zu unterbinden, das scheint aber nicht zu funktionierten.
Unter http://www.pasz.com/blog/2007/03/https-flash-ie-dynamic-xml-bug.html habe ich einen Artikel gefunden, der zu passen scheint und dort steht auch eine Lösung. Allerdings weiss ich nicht wie ich diese umsetzte kann.
Konkret steht dort:

Adding these two lines to your page rendering PHP fixes the problem the problem:

header(“Cache-Control: cache, must-revalidate”);
header(“Pragma: public”);

Da ich gerade anfange mich mit der Materie auseinander zu setzen, weiss ich nicht welche Datei dies im Shop sein soll und ob das bei Oxid überhaupt läuft?
Vielleicht hat schon jemand Erfahrung damit gemacht und kann uns helfen?
Mit freundlichen Grüßen

Benjamin[/QUOTE]
Versuche es mal am Anfang der “_header.tpl” mit

[{php}]
header(“Cache-Control: cache, must-revalidate”);
header(“Pragma: public”);
[{/php}]

Hi,

dann kommt die Fehlermeldung :
Parse error: syntax error, unexpected ‘:’ in /www/htdocs/w00bc31f/tmp/768364ccb90b361ca3de7e6199890a54^%%94^94B^94B8B1F0%%_header.tpl.php on line 6

[QUOTE=avenger;15730]Versuche es mal am Anfang der “_header.tpl” mit

[{php}]
header("Cache-Control: cache, must-revalidate");
header("Pragma: public");
[{/php}]

[/QUOTE]
Das ist ein PHP-Syntax-Problem…

Ich habe da diese merkwürdigen Anführungszeichen in Verdacht…

Habe die mal zu “normalen” Anführungszeichen geändert…

[{php}]
header("Cache-Control: cache, must-revalidate");
header("Pragma: public");
[{/php}]

Habe das so bei mir getestet, und da gab es keine PHP-Meldung.

ok wenn ich das so einbinde am Anfang der _header.tpl dann bekomme ich zwar keine Fehlermeldung mehr aber das Flash taucht gar nicht mehr auf.

Übrigens: 5:56? Wann schläfst du eigentlich? :slight_smile:

[QUOTE=derNager;15767] Übrigens: 5:56? Wann schläfst du eigentlich? :-)[/QUOTE]
Schlafen?

Was ist das???

Ich bin ein notorischer Frühaufsteher…

[QUOTE=avenger;15774]Schlafen?

Was ist das???

Ich bin ein notorischer Frühaufsteher…[/QUOTE]

Du weisst, regelmäßige Pausen sind wichtig :slight_smile:

Hat sonst niemand eine Idee wie man das Problem mit dem IE lösen könnte?

Du musst die header() möglichst spät setzen und mit dem 2. Parameter = true.

[QUOTE=Toadie;16565]Du musst die header() möglichst spät setzen und mit dem 2. Parameter = true.[/QUOTE]
Das ist falsch!

Header [B]müssen [/B]gesendet werden, [B]bevor [/B]irgend eine andere Ausgabe vom Server generiert wird…

Ja, aber die header() müssen beispielsweise nach session_start() gesetzt werden und auch im Überschreibmodus (2. Parameter), andernfalls überschreibt der Session-Handler/PHP/wer auch immer die Header wieder. Aber natürlich immernoch vor jeder Ausgabe des Contents.

der replace parameter bewirkt eigentlich nur, das wenn ein bestimmter header schonmal gesetzt wurde, das dieser überschrieben wird. steht auch so im englischen php manual:

http://de2.php.net/manual/en/function.header.php

das ändert nichts daran das, wie avenger schon sagt, keine ausgabe vorher geschehen sollte.

Nochmal: ich wollte damit nur sagen, dass der selbe Flashfehler bei uns nicht gelöst werden konnte, wenn die header() vor session_start() aufgerufen wurden; vielleicht also das gleiche Problem hatten, wie der Fragesteller, der sein Problem ja offenbar immernoch nicht lösen konnte. Das Senden der Header muss also [B]nach dem Starten der Session[/B] erfolgen (das meinte ich mit relativ spät), [B]aber natürlich vor der Ausgabe[/B] von Inhalt, also in diesem Fall des dynamischen XML-Contents.

[QUOTE=Toadie;16589]Nochmal: ich wollte damit nur sagen, dass der selbe Flashfehler bei uns nicht gelöst werden konnte, wenn die header() vor session_start() aufgerufen wurden; vielleicht also das gleiche Problem hatten, wie der Fragesteller, der sein Problem ja offenbar immernoch nicht lösen konnte. Das Senden der Header muss also [B]nach dem Starten der Session[/B] erfolgen (das meinte ich mit relativ spät), [B]aber natürlich vor der Ausgabe[/B] von Inhalt, also in diesem Fall des dynamischen XML-Contents.[/QUOTE]
Wenn man das am Beginn der “_header.tpl” macht, sind diese Bedingungen ja gegeben…