Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML] Błąd przy przesyłaniu danych z formularza
melior
post 26.02.2010, 07:48:44
Post #1





Grupa: Zarejestrowani
Postów: 68
Pomógł: 3
Dołączył: 7.12.2009

Ostrzeżenie: (0%)
-----


Witam,
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.

  1. <form action="koszyk.php" method="post">
  2. <input type="text" style="width:40; text-align:center; "value="<? echo $_SESSION['koszyk'][$x]?>" name="<? echo $x ?>">
  3. <input type="hidden" name="zapisz" value="1">
  4. <input type="submit" value="Przelicz">


A tu fragment odpowiadający za zmianę tej wartości.

  1. if(isset($_POST['zapisz'])) {
  2. foreach ($_SESSION['koszyk'] as $typ_produkt => $ilosc) {
  3. if($_POST[$typ_produkt]=='0')
  4. unset($_SESSION['koszyk'][$typ_produkt]);
  5. else
  6. $_SESSION['koszyk'][$typ_produkt] = $_POST[$typ_produkt];
  7. }
  8. }


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
  1. if(isset($_SESSION['koszyk'])&&array_count_values($_SESSION['koszyk']))

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?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:06