tworze sklep internatowy, zaszła potrzeba poszerzenia asortymentu o dodatkowe opcje jakiegoś produktu.
Wygląda to tak
Mamy stronę przedstawiającą kartę produktu a w niej konfiguratot gdzie możemy wybrać szerość, kolor i opcję produktu.
o ile szerokość i kolor nie stanowią problemu bo znajdują się w tej samej tabeli przez co produkt w tej konkretnej konfiguracji to tak naprawdę wpis w bazie danych to opcja znajduje się w osobnej tabeli. Posiłkując sie Vadamecum programisty z Heliona swtorzyłem sobie funkcję która tworzy mi koszyk na zkaupy a wygląda tak :
function stworzKoszyk() { @$product = $_POST['product']; @$sides = $_POST['sides']; if($product) { { $_SESSION['produkty'] = 0; $_SESSION['warotsc'] = '0.00'; } { $_SESSION['koszyk'][$product]++; } else { $_SESSION['koszyk'][$product] = 1; } $_SESSION['wartosc'] = obliczWartosc(@$_SESSION['koszyk']); $_SESSION['produkty'] = obliczProdukty(@$_SESSION['koszyk']); } { foreach ($_SESSION['koszyk'] as $product => $ilosc) { if($_POST[$product] == '0') { } else { $_SESSION['koszyk'][$product] = $_POST[$product]; } } $_SESSION['wartosc'] = obliczWartosc(@$_SESSION['koszyk']); $_SESSION['produkty'] = obliczProdukty(@$_SESSION['koszyk']); } { pokazKoszyk($_SESSION['koszyk']); } else { } }
udało mi się uzyskać połowiczny sukces tzn. stworzyłem pole hidden w formularzu, który przesyłał mi wartość opcji i przez co pokazywał poprawnie w koszyku. Jednak, kiedy chciałem przeliczyć koszyk nie było już wartości $_POST i wywalało błędy.
Czy może mi ktoś powiedzieć w jaki sposób zapisać poprawnie wartość z posta w sesji tak żeby później nie musieć jej przesyłam milion razy przy każdym przeliczeniu koszyka ?