Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ostatnio oglądane produkty
Forum PHP.pl > Forum > Gotowe rozwiązania
northwest
Witam serdecznie,
Potrzebuje skryptu który bedzie mi zapisywał w COOKIE 10 ostatnio oglądanych przez użytkownika produktów.
Miałoby to działać w następujący sposób:
- użytkownik wchodzi na kartę produktu,
- dodajemy nowy ostatnio oglądany produkt do COOKIE,
- sprawdzamy czy user oglądał już ten produkt (czy znajduje sie w cookie - i jeśli tak, to usuwa poprzedni),
- usuwamy produkty z pamięci powyżej 10

Czy mógłbym prosić o napisanie takiego skryptu?

Bardzo proszę o pomoc,
Northwest
Pyton_000
  1. array_unshift($_COOKIE['last_seen'], $product);
  2. $_COOKIE['last_seen'] = array_slice($_COOKIE['last_seen'], 0, 10);
northwest
A jak takiemu Cookiesowi ustawić czas życia na np. 7 dni?

Wyświetlenie zawartości cookie np. w takiej formie:
- produkt id 1: ...
- produkt id 2: ...
- produkt id 3: ...
- produkt id 4: ...
- produkt id 5: ...
- produkt id 6: ...
- produkt id 7: ...
- produkt id 8: ...
- produkt id 9: ...
- produkt id 10: ...

robi się jakoś foreachem?

Dziękuję bardzo za pomoc smile.gif

ten kod nie zapisuje mi cookiesa sad.gif

Zwraca błąd:
Warning: array_unshift() expects parameter 1 to be array, null given in index.php on line 7

Warning: array_slice() expects parameter 1 to be array, null given in index.php on line 8
sazian
dodaj przed tym kodem to
  1. if(!isset($_COOKIE['last_seen'] || !is_array($_COOKIE['last_seen']))
  2. {
  3. setcookie('last_seen', array(), time()+604800);
  4.  
  5. }


pisane z palca, nie sprawdzałem
northwest
mam taki kod:
  1. $product = rand(1000, 1000000);
  2. if(!isset($_COOKIE['last_seenxa']) || !is_array($_COOKIE['last_seenxa']))
  3. {
  4. setcookie('last_seenxa', array(), time()+604800);
  5. }
  6. array_unshift($_COOKIE['last_seenxa'], $product);
  7. $_COOKIE['last_seenxa'] = array_slice($_COOKIE['last_seenxa'], 0, 10);
  8.  
  9. echo $_COOKIE['last_seenxa'];


i nie zapisuje sad.gif

Zwraca:

Warning: setcookie() expects parameter 2 to be string, array given in index.php on line 40

Warning: array_unshift() expects parameter 1 to be array, null given in index.php on line 42

Warning: array_slice() expects parameter 1 to be array, null given in /index.php on line 43
sazian
  1.  
  2. if(!isset($_COOKIE['last_seenxa']) || !is_array($_COOKIE['last_seenxa']))
  3. {
  4. setcookie('last_seenxa', array(), time()+604800);
  5. }
  6. else
  7. {
  8. $_COOKIE['last_seenxa']=explode(',',$_COOKIE['last_seenxa']);
  9. }
  10. array_unshift($_COOKIE['last_seenxa'], $product);
  11. $_COOKIE['last_seenxa'] = array_slice($_COOKIE['last_seenxa'], 0, 10);
  12.  
  13.  
  14. var_dump($_COOKIE['last_seenxa'];);
  15.  


i gdzieś na końcu strony
  1.  
  2. $_COOKIE['last_seenxa']=imlode(',',$_COOKIE['last_seenxa']);


northwest
też nie działa sad.gif NIe zapisuje nic

ten var_dump zwraca "null"
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.