Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pamięć podręczna dla "KOSZYKA Z ZAKUPAMI" bez logowania.
Forum PHP.pl > Forum > PHP
Cenoniada
Witam,

Mam pytanie o stabilne rozwiązanie dla funkcji koszyka z zakupami bez systemu logowania posiadajacego cechy podręcznego notatnika ID produktu oraz jego ceny (ew. sumy cen).

Jakiego rozwiązania najlepiej użyć?

Pozdrawiam

Damian
wookieb
Trzymac id_produktów oraz ich dodatkowe parametry (ilosc, itd) w sesji.
Kod
$_SESSION['cart']=array(
array('id_produktu'=>1, 'ilosc'=>'5', 'kolor'=>'zielony','cena'=>100.50)
);
Spawnm
tablica z produktami i ich info , a sklepik na sesjach .
Cenoniada
ehh będzie na ciastkach jednak...
erix
Możesz i bez ciastek, na upartego... Wtedy wystarczy wyłączyć odpowiednią opcję w php.ini.

Ale odradzam, mało bezpieczne.
dr_bonzo
Cytat
podręcznego notatnika ID produktu oraz jego ceny (ew. sumy cen).
+ do tego ciastka?

Mam nadzieje ze walidujesz zawartosc ciastek przed kupnem 10 komputerow w cenie 1zl?
I czemu ciastka - 100x latwiej jest to na sesjach zrobic.
Pilsener
Z alternatywnych rozwiązań:
- tymczasowy plik po stronie serwera
- baza

Jednak oba te rozwiązania obciążają serwer. Jeśli nie ma przeciwskazań to sesje/ciastka, przecież chodzi tylko o trzymanie tablicy wybranych produktów + ilości, są o wiele gorsze problemy...
Spawnm
ciastka to raczej nie rozważne posunięcie .
plikami i db w wypadku gdy nie ma rejestracji i logowania to niepotrzebna praca, trzeba uwzględnić że ktoś może zrezygnować w połowie zamówienia i zostają nam wpisy .
Przy małych sklepach najlepsze są sesje i nie ma co kombinować .
Pilsener
Cytat
ciastka to raczej nie rozważne posunięcie
- niby czemu? Wszystko jest po stronie użytkownika, szybko i prosto to działa. Jakie może być zagrożenie wynikające z trzymania w ciastkach wybranych produktów? Przecież i tak sprawdzanie i walidacja odbywa się PO wysłaniu zamówienia jako post, a nie przy tworzeniu tych ciastek.
phpion
Ja w swoim systemie sklepu zapisuję koszyk w sesji jako tablicę:
Kod
array(
    0 => array(
        'id' => 10,
        'amount' => 1,
        'attributes' => array()
    ),
    1 => array(
        'id' => 3,
        'amount' => 5,
        'attributes' => array(
            0 => 7,
            1 => 12
        )
    )
)

Każdy element jest tablicą, która składa się z id produktu, jego ilości oraz tablicy atrybutów (np. kolor, rozmiar). Jeżeli w Twoim sklepie nie ma atrybutów możesz uprościć strukturę do:
Kod
array(
    10 => 1,
    3 => 5
)

czyli id => ilość. Na takich wyjściowych strukturach możesz spokojnie budować koszyk.
zzeus
Jeśli jest walidacja przed złożeniem zamówienia to może ujdzie w tłumie, chodziło o sytuację w której dane byłyby zapisane w ciastku a przed złożeniem nie sprawdziłbyś ich poprawności, wówczas ktoś mógłby zmodyfikować ciacho i miałbyś problem.
Nadal jednak nie rozumiem dlaczego upierasz się przy ciastkach ? Mi się wydaje że łatwiej i przyjemniej można to zrobić w oparciu o sesje.
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.