Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kontrola cache
Forum PHP.pl > Forum > PHP
llukasz
Witam

Mam taki problem

Gdy na stronie są treści dynamiczne np. losowe produkty ze sklepu i przejdę na jakąś podstronę ze strony głównej, po czym kliknę wstecz w przeglądarce wracając na stronę główna z losowymi produktami - przeładują mi się one

Co zrobić by w takich sytuacjach strona była ładowana z pamięci podręcznej przeglądarki (zauważam takie zachowanie np. serwisu youtube gdzie po kliknięciu wstecz pojawiają mi się te same co poprzednio polecane filmy)

Sytuacja ma nie zachodzić przy kliknięciu w przeglądarce opcję odśwież (wtedy losowe produkty powinny się zmienić na nowe)

CuteOne
Po kliknięciu w link "Wstecz" o zadanym urlu (index.php?id=produkt&click=back) ładujesz produkty z sesji

produkty.php
  1. if($_GET['click'] == 'back') {
  2.  
  3. $produkty = load_from_session();
  4. }
  5. else {
  6.  
  7. $produkty = load_from_database();
  8. reload_session($produkty);
  9. }


ps. zamiast &click=back możesz ustawić cookie za pomocą call back function na linku, który klikasz
xdev
Strasznie to skomplikowane smile.gif
Po prostu na każdej podstronie wywołujesz kod PHP który zapisuj losowe produkty w sesji/cookie jeśli użytkownik jeszcze ich tam nie ma smile.gif Ustalasz datę wygaśnięcia cookie na 1h (czy do zamknięcia przeglądarki) i działa ...

1. if (nie ma losowych produktów w cookie X) THEN zapisz losowe produkty w cookie X
2. wyświetl produkty z cookie X.
llukasz
Rozwiązania nie dają takiego efektu jak uzyskało youtube.

Powtarzam, że na youtube przy odświeżeniu przez np F5 albo wejście w nowym oknie w stronę główną mamy inne filmy wylosowane a przy naciśnięciu W PRZEGLĄDARCE przycisku WSTECZ mamy stare wylosowane filmy.
michaJlS
no to pewnie musisz wysłać odpowiednie nagłówki nt cacheowania do przeglądarki. poszukaj w google "cache control"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.