![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 25 Dołączył: 28.09.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam
jak w temacie sam nie wiem jak do końca to rozwiązać więc czekam na za i przeciw. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 10 Dołączył: 16.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
spokoloko123 w jaki sposób chcesz to zrobić, jeśli nie w oparciu o sesje?
Niektórzy dyskutanci słusznie od początku wątku zwracają uwagę na fakt, że HTTP jest protokołem bezstanowym. W celu zachowania stanu jakichkolwiek danych między żądaniami musisz napisać własną implementację sesji. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 12 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
spokoloko123 w jaki sposób chcesz to zrobić, jeśli nie w oparciu o sesje? No chyba jasno się wyraziłem. Tworzysz sobie tablice, a użytkowników owszem rozpoznajesz po session_id, ale wszystko i tak pozostaje w bazie. Po tym jak porzuci koszyk to on dla użytkownika przestaje istnieć, ale ty wiesz, że masz to w bazie i poddajesz to analizie. A gdy kupuje faktycznie i dokonał wpłaty, czy ogólnie zamówienie zostało złożone to przenosisz z tej tabeli "koszyka" do tabeli realizacji zamówień. A co ma koszyk wspólnego ze zbieraniem informacji na temat tego, na którym etapie użytkownik wycofał się z dokonania zakupów? Nie przyszło ci do głowy, że w tabeli nazwijmy ją "koszyk" można stworzyć kolumnę, która zbiera informacje na jakim etapie się znajdujemy? Na etapie samego dodawania jest lvl 1 - załóżmy, a w kolejnych inkrementujemy tę wartość. Trochę wyobraźni (IMG:style_emoticons/default/wink.gif) . Żadne śledzenie tylko do numeru id sesji masz przypisane do jakiego etapu użytkownik doszedł. Żaden regulamin do tego potrzebny nie jest. Ten post edytował spokoloko123 7.05.2012, 08:23:23 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Nie przyszło ci do głowy, że w tabeli nazwijmy ją "koszyk" można stworzyć kolumnę, która zbiera informacje na jakim etapie się znajdujemy? Na etapie samego dodawania jest lvl 1 - załóżmy, a w kolejnych inkrementujemy tę wartość. Trochę wyobraźni (IMG:style_emoticons/default/wink.gif) . Żadne śledzenie tylko do numeru id sesji masz przypisane do jakiego etapu użytkownik doszedł. Żaden regulamin do tego potrzebny nie jest. No i po co mi do tego baza danych? Przecież równie dobrze mogę sobie taką informacje zapisać w sesji. Piszesz, że chcesz identyfikować etap dokonywania zakupów, poprzez dodatkową kolumnę w tabeli koszyka, ale gdy użytkownik zdecyduje się na zakup i go dokona, albo przynajmniej złoży zamówienie, to czy konieczne jest dalsze przechowywanie informacji o zawartości koszyka w tabeli koszyk? Odpowiem - NIE. Tracisz zatem informację na temat tego, na jakim etapie użytkownik wycofał się z ewentualnego dokonania zakupu. Choć tak naprawdę odpowiedzialność za tę część analizy rynkowej (jak to ładnie nazwałeś) przejmuje moduł realizacji zamówień. Informacja o tym na jakim etapie użytkownik wycofał się z dokonywania zakupów nie ma nic wspólnego z zawartością koszyka, a jeśli ma podlegać analizie, to powinna być zapisywana w zupełnie odrębnej/ych tabeli/ach, która/e "gromadzi/ą" wszystkie dane podlegające takiej analizie.PODSUMOWUJĄC: - koszyk na zakupy powinien bazować na sesji, - jeśli użytkownik musi odejść od komputera na czas dłuższy, aniżeli czas życia sesji, to powinien mieć możliwość zapisania zawartości koszyka do bazy danych lub w ciasteczku, - jeśli użytkownik zdecyduje się zapisać zawartość koszyka w ciasteczku, to warto go poinformować, że gdy usunie ciasteczka, straci zawartość koszyka (ta opcja często jest pomijana, a domyślnie zawartość koszyka zapisywana jest w ciasteczku o długim czasie życia), - zapisanie zawartości koszyka w bazie danych wiąże się z nadaniem odpowiedniego identyfikatora dla tego koszyka (może wymagać rejestracji użytkownika, ale nie musi, i nie może być identyfikowane przez id sesji, bo sesja w czasie nieobecności użytkownika może wygasnąć), - do analizy rynkowej należy użyć odrębnego modułu wykorzystującego dane przechowywane w tabeli bazy danych, sesji lub innej pamięci, przy czym dane do tej analizy mogą być dostarczane przez aplikację (każdy moduł raportuje dane do analizy samodzielnie, korzystając jednak z tego samego/unikalnego identyfikatora, jakim może być id sesji), czy system baz danych (np. triggery, które automatycznie dokonują odpowiednich wpisów do bazy danych w zależności od tego, jaką akcję podejmie użytkownik - opuszczenie koszyka (równoważne de facto usunięciu odpowiedniej zawartości z sesji, bazy danych, czy innej pamięci), wycofanie zamówienia, brak wpłaty w określonym terminie, itp.). Ten post edytował mortus 7.05.2012, 09:54:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 01:25 |