Seite 1 von 1

Login Status und cache Problem nur im IE [gelöst]

Verfasst: Mo 20. Mär 2006, 13:50
von ultha
hallo zusammen,

erstmal an alle, die hier unheimlich tollen Support leisten: Daaanke :lol:
Konnte schon einige Problem bei meinem ersten Conteido Projekt, durch reines suchen und Mitlesen lösen.

wie ich sehe, haben einige Probleme mit dem cache der Seiten beim IE.
So ist es auch bei meinem aktuellen Problem. :?

Ich habe ein Login für einen Kundenbereich eingerichtet.
Der Login Status wird dabei auf jeder Seite angezeigt.
So das er eingeloggt bleiben kann und sich jederzeit ausloggen kann.

Im FF und Opera klappt das auch wunderbar :) , nur der IE holt seine Seiten aus dem cache. :(
So, das nicht auf jeder Seite, die kurz vorm Login besucht wurde der richtige Status angezeigt wird.


Wie kann man es generell verhindern, das der IE die gecachten Seiten aufruft :?:

Dies habe ich schon versucht, leider ohen Erfolg:

Code: Alles auswählen

<meta http-equiv="cache-control" content="no-cache">
<meta name="pragma" content="no-cache" />
Aber keine Einstellungen im Browser oder so. Kann man ja nicht beeinflussen.
Wenn es keine Möglichkeiten gibt, macht so ein Status überhaupt keinen Sinn.
Auch das wechseln von Sprachen etc. wie in einem andern Beitrag erwähnt funktioniert dann ja nicht.

schöne Grüße
Ulli

Verfasst: Mo 20. Mär 2006, 13:54
von Dalamar
Setz doch mal den $force - Parameter in der config.php auf 1.

Code: Alles auswählen

$force = 1;

Verfasst: Mo 20. Mär 2006, 14:03
von ultha
hallo Dalamar,

danke für die schnelle Reaktion.
Werde ich gleich mal testen.
Was genau passiert bei dem Parameter?
Dalamar hat geschrieben:Setz doch mal den $force - Parameter in der config.php auf 1.

Code: Alles auswählen

$force = 1;

Verfasst: Mo 20. Mär 2006, 14:11
von mvf
ultha hat geschrieben: Was genau passiert bei dem Parameter?

Code: Alles auswählen

/* Set to 1 to brute-force module regeneration */

Verfasst: Mo 20. Mär 2006, 14:20
von ultha
OK, hat aber leider das Problem nicht gelöst. Schade eigentlich.
mvf hat geschrieben:
ultha hat geschrieben: Was genau passiert bei dem Parameter?

Code: Alles auswählen

/* Set to 1 to brute-force module regeneration */

Verfasst: Mo 20. Mär 2006, 14:58
von mvf
ultha hat geschrieben:OK, hat aber leider das Problem nicht gelöst. Schade eigentlich.
mvf hat geschrieben:

Code: Alles auswählen

/* Set to 1 to brute-force module regeneration */
war auch nur ne antwort auf deine frage was passiert wenn ;)

Verfasst: Mo 20. Mär 2006, 14:59
von Maribeauli
ultha hat geschrieben:OK, hat aber leider das Problem nicht gelöst. Schade eigentlich.
ultha,

im IE gibt es in den Menüs unter "Extra" -> "Internetoption" -> einen Tab "Allgemein" und dort einen Button "Einstellungen",
es öffnet sich ein Fenster:

Bild

Kontrolliere doch mal was du da eingestellt hast und "spiele" mal mit deinen Einstellungen ob es daran liegt.

Verfasst: Mo 20. Mär 2006, 15:02
von mvf
Maribeauli hat geschrieben:Kontrolliere doch mal was du da eingestellt hast und "spiele" mal mit deinen Einstellungen ob es daran liegt.
nett gemeint, aber ultha such nach einer 'non-clientside-solution' (lies mal genau oben)
ultha hat geschrieben: Aber keine Einstellungen im Browser oder so. Kann man ja nicht beeinflussen.
Wenn es keine Möglichkeiten gibt, macht so ein Status überhaupt keinen Sinn.

Verfasst: Mo 20. Mär 2006, 15:10
von Maribeauli
mvf,

hm, ja stimmt,

Aber keine Einstellungen im Browser oder so. Kann man ja nicht beeinflussen.
Ich habe hier nur das "beeinflußen" gelesen.

Verfasst: Mo 20. Mär 2006, 15:17
von ultha
hallo Maribeauli,
Maribeauli hat geschrieben: Kontrolliere doch mal was du da eingestellt hast und "spiele" mal mit deinen Einstellungen ob es daran liegt.
ok, ich hab mal nen bisschen mit den Einstellungen "gespielt".
Auch das hat es nicht gebracht.

Außerdem wäre es ja fatal, wenn ich beim Login eine Beschreibung machen müsste,
wo ich dem User erkläre, das er die Einstellungen in seinem IE verändern soll, so das der Login Staus funzt.
Nein im FF oder im Opera brauche ich ja auch nichts verändern und dort klappt es wunderbar.
Leider nutzen die meisten User bei der Zielgruppe den IE.

Trozdem besten Dank für Deinen Beitrag
schönen gruss Ulli

Verfasst: Mo 20. Mär 2006, 15:46
von Maribeauli
Ich habe jetzt auch mal ein bischen "gespielt",
und mir die Seiten parallel mit IE und Opera angesehen und synchron geklickt.

Eigentlich finde ich das Verhalten des IE besser,
hier kann ich klicken wie ich will, solange wie die Seiten des geschützten Bereiches aufgerufen werden "weiß" der IE auch das ich eingeloggt bin.
Erst bei einem Klick auf eine Seite des nicht geschützten Bereiches "vergißt" der IE das ich als Demo eingeloggt bin.
(Ist aber für mich logisch - ich habe ja den geschützten Bereich verlassen)
Der Opera behält die Einlogdaten auch im ungeschützten Bereich.

Das sieht aber nicht nach einem Cache-Problem des IE aus sondern die Art und Weise wie die Handhabung der Cookies im Browser erfolgt.

Verfasst: Di 21. Mär 2006, 10:35
von ultha
leider habe ich immer noch keine Lösung für das cache Problem gefunden.
Wie mir scheint, gibt es dafür auch keine Lösung und ich muss meine Status Anzeige, die ja im FF und opera funzen, wieder rauswerfen. :x
Maribeauli hat geschrieben:
Eigentlich finde ich das Verhalten des IE besser,
hier kann ich klicken wie ich will, solange wie die Seiten des geschützten Bereiches aufgerufen werden "weiß" der IE auch das ich eingeloggt bin..
Genau so ist es ja im FF und Opera auch. So soll es ja auch sein.
Nur wenn ich jetzt einfach mal vom geschützten Bereich in einen normalen Bereich wechsle,
soll mich halt die Status Anzeige darauf aufmerksam machen, das ich noch eingeloggt bin.

Maribeauli hat geschrieben:
Erst bei einem Klick auf eine Seite des nicht geschützten Bereiches "vergißt" der IE das ich als Demo eingeloggt bin.
(Ist aber für mich logisch - ich habe ja den geschützten Bereich verlassen)
Der Opera behält die Einlogdaten auch im ungeschützten Bereich.

Das sieht aber nicht nach einem Cache-Problem des IE aus sondern die Art und Weise wie die Handhabung der Cookies im Browser erfolgt.
Wenn Du aber ein Menüpunkt im ungeschützen Bereich zweimal anklickst,
zeigt er schon den aktuellen Staus an.
Also für mich ist das ganz klar, das er erst die "statische Seite" aus dem Cache nimmt.
Dort wird der Code ja nicht ausgeführt, sonst wär der aktuelle Status ja erkannt.

Vielleicht hat ja doch noch einer nen Tip

Verfasst: Do 23. Mär 2006, 12:49
von ultha
Lösung cache Problem beim IE

So, nun habe ich anscheinend doch noch was brauchbares gefunden.
Und zwar habe ich in der front_content.php die header Einträge um diese erweitert:


header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Cache-Control: no-store, no-cache, must-revalidate");

siehe code Ausschnitt in der front_content.php

Code: Alles auswählen

if (!$sess->is_registered("lang") ) $sess->register("lang");
if (!$sess->is_registered("client") ) $sess->register("client");

if (isset ($username))
{
	$auth->login_if(true);
}

header("Content-Type: text/html; charset={$encoding[$lang]}");

header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Cache-Control: no-store, no-cache, must-revalidate");
Jetzt klappt der Login Status auch im IE :lol:

dieser Newsgroup Eintrag ist vielleicht auch für andere mit der cache Problematik interessant.
http://www.issociate.de/board/post/3131 ... sions.html

und diese Erweiterung für den FF kann die Arbeit mit Headern
etwas unterstützen: http://livehttpheaders.mozdev.org/installation.html

schönen Tag noch
Ulli