Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zasada działania koszyka [COOKIE] [MySQL]
Forum PHP.pl > Forum > PHP
szafran86
Witam

Mam następujące pytanie.

Piszę sklep internetowy i zastanawiam się jak rozwiązać sprawę koszyka.

Otóż chciałbym aby klient mógł dodawać produkty do koszyka będąc niezalogowanym - tą sprawę rozwiązałem za pomocą cookies.

Natomiast co zrobić kiedy klient stwierdzi że chce się zarejestrować/zalogować? Czy wtedy dane z cookies wpisać do MySQL do tabeli koszyk i podczas wszystkich działań zalogowanego klienta wykonywanych w koszyku (dodawanie/usuwanie produktów) edytować tablę koszyk oraz pliki cookies żeby miały te same wartości?

Chodzi o to że gdy klient będąc zalogowanym doda produkty do koszyka a następnie opuści sklep - to po powrocie (powiedzmy po tygodniu) nie logując się nadal będzie miał produkty w koszyku bo będą one zapisane w cookies.

Natomiast po tym przykładowym tygodniu gdy wróci to w cookies i na swoim koncie będzie miał te same wartości ale przed zalogowaniem zmieni zawartość koszyka. Teraz wartości w cookies i w bazie będą różne - pytanie: które wartości nadpisać jakimi (czy te w bazie wartościami z cookies czy odwrotnie)?

Mam nadzieję że za bardzo nie namieszałem - ogólnie chodzi mi o to jak rozwiązać sprawę koszyka (cookies/MySQL) gdy klient jest zalogowany lub nie zalogowany.
!*!
Cytat
ogólnie chodzi mi o to jak rozwiązać sprawę koszyka (cookies/MySQL) gdy klient jest zalogowany lub nie zalogowany.


Tak samo. Ogólnie nie widzę potrzeby wkładania do bazy takich rzeczy. Obojętnie czy użytkownik jest zalogowany czy nie, wkładając do koszyka zapisujesz to w ciastku i tyle. Jak wchodzi i wychodzi po tygodniu to już jego sprawa. (za poza tym to nawet ciastko nie powinno istnieć tyle czasu, bo co jak ktoś inny wejdzie do sklepu? gratis ma już jakieś przedmioty w koszyku?) Zapis do bazy rób tylko, gdy zechce dokonać faktycznego zakupu. Czyli zapisuj tylko to co faktycznie chce kupić, a nie to co ma zamiar. Inaczej szybko zapchasz bazę, szkoda zasobów.
kamillo121
Cytat
Jak wchodzi i wychodzi po tygodniu to już jego sprawa.


Nie zgodzę się z poprzednikiem. Jak tak się podchodzi do sprawy to równie dobrze można powiedzieć, że nie musi wybierać naszego sklepu smile.gif
Jeżeli ktoś niezalogowany tworzy koszyk(uzupełnia go o produkty) to zapisuj w bazie danych strukturę koszyka a w cookie zapisuj np id koszyka, i po zarejestrowaniu czy po zalogowaniu możesz powiadomić, że jest aktywny taki i taki koszyk i czy chce go dodać o ile id koszyka w cookie istnieje.

Powiedzmy co 4 tygodnie możesz czyścić bazę z nieprzypisanych koszyków(czyli takich, które utworzyli niezalogowani i nie przypisali ich do żadnego konta)
phpowiec84
lub skorzystać z dobrodziejstw tabeli MEMORY w SQL
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.