opdatering af cookie

Tags:    diverse

Hej Alle

Jeg ved ikke hvor spørgsmålet hører til henne så du ender det her.

Jeg har en side hvor der bliver sat en cookie med php.
Cookien sættes så kunderne kommer ind på det samme land hver gang de besøger siden og ser altså derfor kun forsiden/index siden én gang.
(cookien slettes efter et år)

Men når jeg laver nogle opdateringer på hjemmesiden og folk ikke selv opdater (med ctrl + f5) så er der mange der ikke ser det seneste nye.

Er der ikke noget kode man kan sætte ind så cookien/siden opdateres automatisk hver gang kunden besøger hjemmesiden.
Og gerne så udløbstiden på cookien ikke ændres.

Tak for hjælpen



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvad er ideen men at have den cookie så?
Du vil kun have folk ser forsiden en gang også sætter du din cookie men nu vil du gerne have de ser siden alligevel, er cookien ikke lidt overflødisk så?

Men hvis cookien skal være der kan du have en værdi i din database som siger nu er der kommet en opdatering - i din cookie har du så tidspunktet cookien er sat. Er feltet i databasen nyere end hvornår cookien er sat må det betyde der er noget nyt indhold på forsiden også kan du sende dem til forsiden og opdatere tiden i din cookie.



Altså snakker vi PHP eller HTML nu?
For den kode skal stå inden for dine scripttags (<?php ?> ) øverst i dine filer...

Hvis du tænker på html skal det her stå inde i mellem <head></head>
Fold kodeboks ind/udKode 


i stedet for... (kommer helt an på om du vil sætte det ind via php eller html. Vil dog anbefale det via php da det er kendt for at virke bedst. (Hvad jeg ved af.)



Hvad angår brugerne som allerede er "låst fast" i en cachet version er der ikke meget andet at gøre end at få dem til at klikke ctrl+f5 eller vente på deres cachede version udløber. Tænk over det:

Hvis de ikke kan se dit opdaterede indhold, så kan du jo logisk nok heller ikke kaste en eller anden "magisk kode" efter dem som får deres browser til at genindlæse. For så havde den jo allerede genindlæst en gang.

Problemet du står med, er at brugerens computer har en lokal kopi af din side, og af den ene eller anden grund, så insisterer den på at vise den lokale kopi for at det skal gå hurtigere. Så brugerens computer kontakter faktisk slet ikke din hjemmeside når det sker. Og derfor kan du heller ikke sende noget nyt til den.

Jeg opsumerer. Få dine headere i orden, og bed brugerne trykke ctrl+f5 :)




Jeg tror faktisk ikke det har noget med cookien at gøre... I mine øre lyder det som om Lise blander noget sammen.


Jeg tror nærmere dit problem er at browseren cacher sidens indhold. For ctrl+f5 har intet med cookies at gøre, det tvinger bare browseren til at genindlæse siden fra serveren af.

Du siger du bruger php?

Så bare sæt det her ØVERST i alle dine php filer.
Fold kodeboks ind/udKode 


Det tvinger browserne til ikke at cache din side og derfor hente den på ny hver gang...

Pas dog på, hvis du har nogle statiske sider du ikke ændrer så lad VÆRE med at sætte koden der. Der er ingen grund til at lade din server døjes med at sende ting på ny som aldrig ændres.



Indlæg senest redigeret d. 14.01.2011 13:24 af Bruger #14381
okay... ja blander det nok lidt sammen så.

Har opdateret nogle sider, men har fået svar tilbage fra folk at de ikke kan se det er ændret, netop fordi de ikke har opdateret deres side.
Så vil gerne have den til at gøre det automatisk for dem som ikke kan finde ud af dette.

Så altså, på de sidder hvor jeg jævnligt opdater noget sætter jeg koden ind i min header:?

Header('Cache-Control: no-cache');
Header('Pragma: no-cache');



t