Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Koszyk w sesji czy w bazie?
usb2.0
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
m44
post
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.
Go to the top of the page
+Quote Post
spokoloko123
post
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 12
Dołączył: 15.02.2012

Ostrzeżenie: (0%)
-----


Cytat(m44 @ 7.05.2012, 09:07:18 ) *
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ń.


Cytat(mortus @ 7.05.2012, 09:14:19 ) *
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
Go to the top of the page
+Quote Post
mortus
post
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Cytat(spokoloko123 @ 7.05.2012, 09:21:23 ) *
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
Go to the top of the page
+Quote Post

Posty w temacie
- usb2.0   Koszyk w sesji czy w bazie?   5.05.2012, 19:17:43
- - patrysiek2   Według mnie lepiej w sesji.   5.05.2012, 19:32:44
- - marcio   Cytat(patrysiek2 @ 5.05.2012, 20:32:4...   5.05.2012, 20:01:54
- - greycoffey   To jest dana, które pasuje TYLKO do sesji - a czy ...   5.05.2012, 20:23:28
|- - r4xz   Cytat(greycoffey @ 5.05.2012, 21:23:2...   5.05.2012, 21:17:54
- - Niktoś   Ja zrobiłem koszyk oparty o nierelacyjną bazę dany...   5.05.2012, 21:25:55
- - Fifi209   Jak najbardziej coś w stylu pomysłu Niktosia. Dlac...   5.05.2012, 22:57:08
- - usb2.0   nie wiem czy się zbijasz @up czy mówisz poważnie a...   5.05.2012, 23:03:59
|- - Fifi209   Cytat(usb2.0 @ 6.05.2012, 00:03:59 ) ...   5.05.2012, 23:06:14
- - bastard13   Zależy, czy po wyłączeniu przeglądarki i uruchomie...   5.05.2012, 23:12:18
- - usb2.0   no brzmi całkiem sensownie sory ze zwiątpiłem no p...   5.05.2012, 23:13:05
- - Niktoś   Może generalizuje ,ale: sesja= session hijacking,...   6.05.2012, 00:06:38
- - Fifi209   Cytat(usb2.0 @ 6.05.2012, 00:13:05 ) ...   6.05.2012, 04:56:15
- - spokoloko123   Bardzo wygodnie wszystko jest rozwiązane na helion...   6.05.2012, 05:44:26
- - Niktoś   Dane koszyka to raczej dane temporalne-użytkownik ...   6.05.2012, 09:16:17
- - usb2.0   skorzystałem z rady @Fifi209 i oparłem to na seria...   6.05.2012, 09:29:10
- - Niktoś   Nom w darmowym ,czy nawet płatnym hostingu tego ni...   6.05.2012, 09:31:44
- - greycoffey   Cytat(Niktoś @ 6.05.2012, 01:06:38 ) ...   6.05.2012, 10:02:11
- - usb2.0   brzmi sensownie   6.05.2012, 10:05:10
- - greycoffey   Btw. PHP oferuje nawet podstawowe API do tworzenia...   6.05.2012, 10:13:42
- - Niktoś   CytatNiktosiu, w takim razie w jaki sposób impleme...   6.05.2012, 10:19:19
|- - greycoffey   Cytat(Niktoś @ 6.05.2012, 11:19:19 ) ...   6.05.2012, 10:37:13
- - Niktoś   CytatPrawde mówiąc: gówno wiesz na temat tych atak...   6.05.2012, 11:46:49
|- - greycoffey   Cytat(Niktoś @ 6.05.2012, 12:46:49 ) ...   6.05.2012, 12:09:56
- - tehaha   Cytatnierelacyjne bazy danych w cache komputera do...   6.05.2012, 12:17:54
- - wNogachSpisz   Pytanie dobre, ale obawiam się że autor w zależnoś...   6.05.2012, 12:41:01
- - greycoffey   Generalnie najlepiej zaimplementować to w PHP 5.4 ...   6.05.2012, 12:45:03
- - Niktoś   CytatW jakim cache komputera? Mógłbyś to rozwinąć?...   6.05.2012, 15:29:44
- - tehaha   CytatTak,relacyjne(MySql, MSSQL ,inne) jak i nie r...   6.05.2012, 16:47:56
- - Niktoś   CytatNie to nie są sesje, sesja to mechanizm pozwa...   6.05.2012, 17:45:41
|- - r4xz   Cytat(Niktoś @ 6.05.2012, 18:45:41 ) ...   6.05.2012, 18:33:52
- - tehaha   CytatRównie dobrze mógłbym w MSSQL ,czy w MYSQL ut...   6.05.2012, 18:38:07
- - greycoffey   Cytat(r4xz @ 6.05.2012, 19:33:52 ) w ...   6.05.2012, 18:42:50
- - Niktoś   CytatNo właśnie nie mógłbyś byś. Bo jak wtedy zide...   6.05.2012, 20:14:41
|- - greycoffey   Cytat(Niktoś @ 6.05.2012, 21:14:41 ) ...   6.05.2012, 21:12:06
- - tehaha   CytatMógłbym dla każdego użytkownika utworzyć unik...   6.05.2012, 20:44:08
- - aachi   Przepraszam, że się wtrącam w waszą dyskusję, ale ...   6.05.2012, 21:24:41
- - Niktoś   A niech to odpalę troszeczkę kodu ,mam nadzieję ,ż...   6.05.2012, 22:00:34
- - Fifi209   Niktoś robisz straszny burdel w kodzie. Czemu dane...   6.05.2012, 22:31:19
- - tehaha   To co pokazałeś to jest sesja oparta o bazę. Cytat...   6.05.2012, 22:33:45
- - mortus   @Niktoś: SQLSpaces nie jest nierelacyjną bazą dany...   6.05.2012, 23:29:20
- - Niktoś   CytatSidejacking is still a problem for many sites...   6.05.2012, 23:46:02
|- - mortus   Cytat(Niktoś @ 7.05.2012, 00:46:02 ) ...   7.05.2012, 08:14:19
- - tehaha   CytatAle żeś mi armatę wystawił, chyba najgorszy a...   7.05.2012, 01:26:17
- - spokoloko123   Zrobienie tego w sesji jest po prostu głupie. Nikt...   7.05.2012, 06:01:31
- - m44   spokoloko123 w jaki sposób chcesz to zrobić, jeśli...   7.05.2012, 08:07:18
|- - spokoloko123   Cytat(m44 @ 7.05.2012, 09:07:18 ) spo...   7.05.2012, 08:21:23
|- - mortus   Cytat(spokoloko123 @ 7.05.2012, 09:21...   7.05.2012, 08:53:19
- - Niktoś   Cytat- zapisanie zawartości koszyka w bazie danych...   7.05.2012, 09:28:52
|- - mortus   Cytat(Niktoś @ 7.05.2012, 10:28:52 ) ...   7.05.2012, 09:36:09
- - spokoloko123   @mortus Nie rozumiesz zasad e-commerce. Nie będę t...   7.05.2012, 18:57:43
|- - mortus   Cytat(spokoloko123 @ 7.05.2012, 19:57...   7.05.2012, 19:17:18
- - tehaha   @spokoloko123 pomysł bardzo fajny, ale i tak ten k...   7.05.2012, 19:29:33
- - Niktoś   Taka analiza ma tylko i wyłącznie sens w przypadku...   7.05.2012, 19:34:58
|- - mortus   Cytat(Niktoś @ 7.05.2012, 20:34:58 ) ...   7.05.2012, 19:43:39
- - Niktoś   No ale jeśli użytkownik nie będzie zarejestrowany,...   7.05.2012, 19:57:06
|- - mortus   Cytat(Niktoś @ 7.05.2012, 20:57:06 ) ...   7.05.2012, 20:05:15
|- - uupah5   Cytat(Niktoś)No ale jeśli użytkownik nie będzie za...   8.05.2012, 07:43:47
- - tehaha   @Niktoś identyfikacji użytkownika pomiędzy żądania...   7.05.2012, 20:07:16
- - viking   Tak czytam i aż mnie dziw bierze jak bardzo ludzie...   8.05.2012, 06:16:33


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 01:25