![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Proszę o pomoc w napisaniu skryptu 5 ostatnio oglądanych produktów przez użytkownika. Załóżmy że to jest id produktu $id = $_GET['id']; Nie mam pomysłu jak je zapisać aby móc wywołać później 5 ostatnich. Pozdro |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 24.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
@graft, nie zrozumiałeś mnie.
Chodziło mi oto że jestem sobie na stronie otwieram jakiś produkt i w okienku ostatnio oglądane zapisze mi się ten produkt, i otwieram inny produkt i kolejny się dopisuje do tego okienka itd i chcę widzieć 5 ostatnio przeglądanych produktów. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@pavelb: Zapisuj sobie identyfikatory tych produktów do Cookie, albo Sesji (względnie do używanego sposobu identifykacji użytkownika).
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tylko w jednej sesji się chyba tego nie da tego zapisać, a jak zapisze w kilku to później jak je wszystkie wywołać.
I jeszcze chce wyświetlić tylko 5 ostatnich. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jak się nie da, jak się da?
W session_register" title="Zobacz w manualu PHP" target="_manual daj zserializowaną tablicę z identifykatorami produktów + data odwiedzenia i wsio... przecież sesja wygasa po zamknięciu przeglądarki, a jeśli chcesz trzymać także po jej zamknięciu, to cookies (także zserializowana tablica) na np. 2-3 godziny. Poczytaj manual i pobaw się, bo akurat to, co chcesz osiągnąć to rzecz banalna... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 21.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może się czepiam ale w manualu jest napisane, że nie powinno się już używać session_register()" title="Zobacz w manualu PHP" target="_manual. Oraz jeśli skrypt korzysta z session_register()" title="Zobacz w manualu PHP" target="_manual, nie będzie on działać w środowisku z wyłączoną dyrektywą register_globals()" title="Zobacz w manualu PHP" target="_manual.
Ten post edytował RaNdaLLHD 29.07.2007, 19:10:54 -------------------- . . .
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
A czy ja napisałem, że się powinno? Podałem to jako przykład dla sesji. Ja, na przykład, korzystam z sesji trzymanych w sql, obsługiwanych przez swoją klasę - ewentualnie przez frameworka.
Cytat If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister(). Proste, jeśli ktoś czyta manuala, to się zorientuje, że należy korzystać z $_SESSION ![]() PS. Tak, czepiasz się ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem, zapisuje sobie id i date produktu tak:
$_SESSION['ostatnio'][$id] = '1'; i problem jest w tym że ostatnio oglądany produkt jest na końcu. Jak przesortować to tak żeby ostatni id był pierwszy |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
zapisujesz ostatnio oglądane przedmioty w takiej tablicy:
Kod $_SESSION['ostatnio'][0] = $id; $_SESSION['ostatnio'][1] = $id; $_SESSION['ostatnio'][2] = $id; $_SESSION['ostatnio'][3] = $id; $_SESSION['ostatnio'][4] = $id; Podczas dodawania nowego "ostatnio oglądanego": 1. Sprawdzasz czy $_SESSION['ostatnio'] jest tablicą, jeśli nie (jeszcze nic do niej nie dodano) to ID przedmiotu zapisujesz w: $_SESSION['ostatnio'][0] = $id; 2. Jeśli jest tablicą, to sprawdzasz ile ma elementów (count" title="Zobacz w manualu PHP" target="_manual). Jeśli mniej niż 5, to ID przedmiotu zapisujesz w kolejnym elemencie: $_SESSION['ostatnio'][] = $id; 3. Jeśli ma już 5 elementów, to: - usuwasz pierwszy element tablicy array_shift" title="Zobacz w manualu PHP" target="_manual - zapisujesz nowe ID tak jak w pkt. 2 Gdy będziesz chciał wyświetlić te strony, to nie zapomnij, że najpierw będziesz posortować je od tyłu: array_reverse" title="Zobacz w manualu PHP" target="_manual -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 21:31 |