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

Gesperrt
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

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

Beitrag 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
Zuletzt geändert von ultha am Fr 31. Mär 2006, 10:25, insgesamt 3-mal geändert.
Dalamar
Beiträge: 298
Registriert: Di 16. Nov 2004, 15:43
Wohnort: Arnstadt / Thüringen
Kontaktdaten:

Beitrag von Dalamar »

Setz doch mal den $force - Parameter in der config.php auf 1.

Code: Alles auswählen

$force = 1;
Beruflich: eComradeGroup und Media Atoll
Privat: Fantasybuch.net ;)
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

Beitrag 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;
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

ultha hat geschrieben: Was genau passiert bei dem Parameter?

Code: Alles auswählen

/* Set to 1 to brute-force module regeneration */
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

Beitrag 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 */
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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 ;)
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Maribeauli

Beitrag 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.
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Maribeauli

Beitrag 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.
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

Beitrag 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
Maribeauli

Beitrag 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.
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

Beitrag 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
ultha
Beiträge: 11
Registriert: Do 16. Feb 2006, 00:44
Kontaktdaten:

Beitrag 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
Gesperrt