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

Tworzenie koszyka w sklepie internetowym

VPS Starter Arubacloud
0 głosów
2,401 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 166 wizyt
pytanie zadane 17 października 2021 w PHP przez szpon12 Obywatel (1,260 p.)
0 głosów
1 odpowiedź 1,212 wizyt
pytanie zadane 27 września 2017 w JavaScript przez Alterwar Dyskutant (7,650 p.)
0 głosów
1 odpowiedź 826 wizyt

93,024 zapytań

141,986 odpowiedzi

321,290 komentarzy

62,371 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...