• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie koszyka w sklepie internetowym

Object Storage Arubacloud
0 głosów
2,215 wizyt
pytanie zadane 1 lutego 2016 w PHP przez fusemul Użytkownik (710 p.)
Witam,
Jestem po obejrzeniu kursu z php dotyczącego tworzenia sklepu internetowego. Zastanawia mnie jednak tworzenie koszyka. Tam autor stworzył koszyk oparty na sesji i cookie, jednak działa on dla niezalogowanych uzytkownikow ( nie rozwazył opcji zalogowania) i produkt dodany do koszyka jest zapisywany do bazy danych oraz identyfikowany na podstawie session_id. Moje pytanie brzmi, jak pogodzic tworzenie koszyka dla niezalogowanych uzytkownikow z zalogowanymi? tzn, zeby uzytkownik mogl stworzyc sobie koszyk produktow, a po zalogowaniu nie usuwał się on(tak to działa w tym kursie, poniewaz po zalogowaniu zmieniany jest session_id), tylko wciąz był aktualny i w bazie była przechowywana informacja o tym, do kogo koszyk należy, tak, aby po ponownym zalogowaniu się za jakis czas był on nadal aktualny?

oto kurs o ktorym mowie : edugrafia.pl/kursy_wideo/kurs-php5-piszemy-cms-sklepu-internetowego/

Pozdrawiam i dziekuje za odp :)

1 odpowiedź

0 głosów
odpowiedź 1 lutego 2016 przez ShiroUmizake Nałogowiec (46,300 p.)
Jeżeli ciastko o takim o Ip istnieje, sprawdz koszyk. Jezeli uzytkownik sie zaloguje sprawdz ciastkoIP. Jezeli takie istnieje i ezeli koszyk istnieje, przekaz sesji ciastko[koszyk]. Tak w duzym uproszczeniu.
komentarz 1 lutego 2016 przez fusemul Użytkownik (710 p.)
a do bazy zapisywac id, session_id, user_id, product_id, quantity?

i user_id ustawiac na zero w przypadku braku usera, tak?
komentarz 1 lutego 2016 przez ShiroUmizake Nałogowiec (46,300 p.)
Mówisz po zalagowaniu czy przed?
komentarz 1 lutego 2016 przez fusemul Użytkownik (710 p.)
mówie ogólnie o tabeli, która przechowuje dane o koszykach. Zarowno uzytkownikow zalogowanych jak i niezalogowanych. Czy powinny byc to osobne tabele?

Gdy uzytkownik jest niezalogowany, do tabeli dodaje: ID, session_id, user_id=0, quantity.

Gdy uzytkownik sie loguje, w tabeli robimy update i wpisujemy w user_id odpowiedni id usera. Pozniej przy wyszukiwaniu np do wyswietlania zawartosci koszyka dzialaloby zapytanie select..... where session_id= aktualne id sesji OR user_id= id usera zalogowanego. Wtedy nawet w przypadku zmiany numeru sesji, jesli user bedzei zalogowany to dostanei sie do produktow ze swojego koszyka. Jako tak mogloby to wygladac?
komentarz 1 lutego 2016 przez ShiroUmizake Nałogowiec (46,300 p.)
Niezalagowani: Jeżeli taki user o id zero nie istnieje w DB. Jeżeli nie istnieje, możesz tak.

Zalogowani:Możesz tak lub przekazać całą do sesji. I tak po id z tabeli koszyk, wykonać zapytanie do DB.
komentarz 1 lutego 2016 przez fusemul Użytkownik (710 p.)
ok, dzięki wielkie, będę kombinował :) moze jakos to wyjdzie

chyba ze miałby ktoś jeszcze jakiś tutorial/skrypt bądź artykuł z dokumentacji obrazujący prawidłowe wykonanie takiego koszyka opartego o produkty z bazy danych?
komentarz 1 lutego 2016 przez ShiroUmizake Nałogowiec (46,300 p.)
Osobiście bym zrobił tak. Stworzył XML-a plus skrypt, który by aktualizował go z bazy SQL. Przechowywał ciastku wybrane opcje. I tylko po przez AJAX pobierał dla niezalogowanych użytkowników wycene koszyka etc.

 

Oszczędzasz reqestów do bazy danych i servera :)
komentarz 1 lutego 2016 przez fusemul Użytkownik (710 p.)
niestety, jestem poczatkujacym dopiero w php, a ajaxa nawet nie ruszałem do tej pory. Na razie spróbuję zrobić w takim razie tak jak napisałem, a jak to się uda, będę się dalej edukował i poprawiał skrypt :)
komentarz 1 lutego 2016 przez ShiroUmizake Nałogowiec (46,300 p.)
Powodzenia :)

Podobne pytania

+2 głosów
0 odpowiedzi 149 wizyt
pytanie zadane 17 października 2021 w PHP przez szpon12 Obywatel (1,220 p.)
0 głosów
1 odpowiedź 1,033 wizyt
pytanie zadane 27 września 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)
0 głosów
1 odpowiedź 690 wizyt

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...