Mam problem nad którym siedzę już n-tą godzinę i nadal nie mogę rozgryźć.
Kod nad jakim pracuje jest częścią sklepu internetowego, problem leży w koszyku.
Tutaj jest fragment formularza (koszyk.php), którego używam do zmiany ilości zamówień przy danym produkcie.
A tu fragment odpowiadający za zmianę tej wartości.
foreach ($_SESSION['koszyk'] as $typ_produkt => $ilosc) { if($_POST[$typ_produkt]=='0') else $_SESSION['koszyk'][$typ_produkt] = $_POST[$typ_produkt]; } }
Pod zmienną "x" i zmienną typ_produkt kryje się produkt zapisywany w postaci np. 55-S-Red, tj. ID-rozmiar-kolor.
Problem:
Przy kolorze składającym się z dwóch części oddzielonych spacją, np. Soft Peach, kiedy próbuję zmienić ilość to zamiast zmiany wartość znika i mam pustego inputa.
Myślałem na początku, iż post źle coś wysyłał (np. samo "Soft", co powodowałoby że miałbym produkt 55-S-Soft, zamiast 55-S-Soft Peach i było by wszystko jasne), jednak chyba tak nie jest. Próbowałem przepuszczać "name" inputa przez specjalną funkcję, która miała zamieniać spacje na specjalny kod, lub po prostu bawiłem się ze znakami ' i ". Nie działało.
Zresztą zaraz potem wykonywał się kod
i array_count_values wywalał mi błąd, iż musi dostać STRINGA, lub INTEGERA
Nie mam pojęcia co jest nie tak.
Może ktoś rzucić na to okiem?