|
|||
Cookie Informationen nur für eine seite?
Hallo!
ich hoffe, ihr schlagt mir nicht den kopf ab, aber ich habe im netz keine antwort gefunden. Hier mein problem: ich habe mehrere seiten mit listen, welche man via javascript auf- und zuklappen kann. diese informationen (also display:block, bzw. none) werden in einem cookie gespeichert, damit der benutzer, wenn er die seite wieder besucht auf seinem "stand" ist und nicht nochmal alles auf- zuklappen muss. nun verwende ich für die auf- zuklappfunktion natürlich immer das gleiche javascript. das problem ist jetzt aber, dass das cookie und dessen styleinformationen von allen seiten gelesen werden, sodaß auf allen seiten mit den listen der gleiche zustand erscheint. kann man irgendwie bestimmen, dass der cookie nur für eine bestimmte seite gilt? also z.b. für http://www.meineseite/faq/index.htm ich hoffe, ihr könnt mit meiner beschreibung was anfangen. danke und grüße, captain |
Sponsored Links |
Sponsored Links |
|
|||
@duessu
danke für deine antwort. das mit der eindeutigen listenzuordnung hatte ich mir auch schon überlegt. weitergedacht müsste man dann pro liste ein cookie anlegen. nur kann man ja nicht beliebig viele cookies senden. das ist doch beschränkt auf 20 stück oder so? grüße, captain |
|
|||
Wenn jede Liste in einem anderen URL-Pfad liegt, dann könntest du für jede Liste einen eigenen Cookie setzen. Schau in der Doku der Programmiersprache, die du verwendest nach, wie Cookies gesetzt wird, da wird sicher der "Path"-Parameter erklärt.
Ansonsten halte ich es persönlich eh für keine gute Idee mehr als ein Cookie zu setzen. Wenn du mit einem eindeutigen Name pro Liste arbeitest, kannst du auch alles in ein Cookie schreiben. Die Liste müsste den ganzen Cookie lesen, den Teil der nur ihn betrifft raussuchen, diesen Teil bei Bedarf ändern (ohne die Teile für die anderen Listen zu änderen) und dann den ganzen Cookie zurückschreiben. Robin |
|
|||
@qRoToRa
danke für deine antwort. ich denke auch, dass es nicht sinnvoll ist, mehr als einen cookie zu setzen und finde deine lösung auch sehr interessant. allerdings könnte ich dann speicherprobleme bekommen, da ein cookie doch nur eine größe von 4kb (oder waren es 8kb?) haben darf. wieviele zeichen sind das überhaupt? aber ich denke, ich versuche das so zu lösen, wenn niemand eine noch elegantere lösung hat... viele grüße, captain |
|
|||
das problem bei der serverseitigen datenspeicherung in bezug zu einer session ist, daß wenn die session vorbei ist (z.b. browser geschlossen), die daten auch nicht mehr abgerufen werden können. da ich aber möchte, daß der user bei jeder neuen wiederkehr auf die seite seine persönlichen einstellungen wieder vorfindet, ist die serverseitige lösung glaube ich nicht umzusetzen. es sei denn, man müsste sich mit username/pass anmelden, was aber nicht für die seite vorgesehen ist.
kann mir jemand sagen, wieviele cookies pro host gespeichert werden dürfen? ich habe im netz nur empfehlungen gefunden von 0-65535 aber mindestens 20. was sind denn die grundeinstellungen der verschiedenen browser? viele grüße, captain |
|
|||
Zitat:
Zitat:
Robin |
|
|||
Zitat:
aber ich will es jetzt auch nicht zu kompliziert machen danke auf jeden fall für deine hilfe! grüße, captain |
Sponsored Links |
|
|||
Zitat:
Der Begriff "Session" in Session-Cookies beziehen auf eine völlig andere "Session" als bei "Session-ID". Zunächst einmal ist "Session-Cookie" ein mehr oder weniger künstlicher Begriff. Es ist lediglich ein Cookie dessen Lebensdauer bereits vorbei ist. Der Einfachheit halber behält der Browser ihn im speicher bis der Browser geschlossen wird. Cookies dessen Lebenszeit beim Beenden des Browsers nicht vorbei sind, speichert der Browser dauerhalt bis zum nächsten Start des Browsers. Beim "Session-Cookie" bezieht sich der "Session" auf die "Browser-Session", also die Zeit in der der Browser verwendet wird. Der "Session" bei "Session-ID" ist die Zeit in der auf dem Server die Session erkennt. Sobald die Session-Verwaltung einen neuen Benutzer "erkennt" startet die Session. Die Session endet wenn der Session-Verwaltung es will - in der Regel ist das X Minuten seit dem der Benutzer dieser Session sich nicht mehr meldet, aber es kann unbegrenzt sein. Nun ist bei einem solchen server-seitigen Session wichtig wie der Server den selben Benutzer wiedererkennt. Eine simple Methode ist z.B. über die Client-IP-Adresse. Wenn innerhalb einer kurzen Zeit von X Minuten mehrere Anfragen von der selben IP-Adresse kommen, nimmt der Server an das ist derselbe Benutzer. Dies ist aber unsicher, da es vorkommen kann, das zwei Benutzer dieselbe IP haben, oder das sich die IP eines Benutzer zwischendurch ändert. Sicherer ist es dem Benutzer eben eine Session-ID zu geben. Dies kann von einem Seitenaufruf zum anderen über ein Parameter an den URLs weitergegeben werden (oft z.B. als ...?PHPSESSION=... zu sehen). In der Regel wird die Session-ID aber als Cookie gesetzt. Dieser Cookie *kann* ein Session-Cookie sein. Da aber der Session-Cookie beim schließen des Browsers verloren geht, wird der Session auf dem Server auch nicht mehr genutzt werden können. Die Session-ID kann aber genauso gut in einem langlebigen Cookie gespeichert werden und so beim nächsten Start des Browsers wieder zur Verfügung stehen. Puh, ich muss jetzt weg. Ich hoffe die Erklärung war verständlich. Ansonsten muss ich später nochmal ran. Robin |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Cookie lesen, zu kompliziert! | cavebird | Serveradministration und serverseitige Scripte | 14 | 01.12.2009 13:25 |
Nach klick auf menüpunkt soll die gewünschte seite in der seite erscheinen | rs-web | CSS | 45 | 17.07.2009 15:16 |
SESSION / COOKIE - Konflikte | poppihasi | Serveradministration und serverseitige Scripte | 1 | 23.12.2007 14:29 |
Navigation links und oben soll aktive Seite anzeigen | Zischel | CSS | 2 | 16.02.2007 23:30 |
Probleme auf Seite für den Mainchat | Nightrider | CSS | 12 | 08.01.2007 10:49 |