Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Przetwarzanie formularza
Forum PHP.pl > Forum > Przedszkole
island
mam formularz w którym są checkboxy
Kod
<input type="checkbox"  name="pola[]" id="1" value="1" />
<input type="checkbox"  name="pola[]" id="2" value="2" />
<input type="checkbox"  name="pola[]" id="3" value="3" />


Aby przetwarzać pola wystarczyło mi w php


Kod
foreach ($_POST['pola'] as $value)
{
//instrukcje
}



Niestety, ostatnio zauważyłem, że niektóre przeglądarki nie interpretują tego poprawnie ponieważ tablica $_POST['pola'] nie jest ustawiona. Proszę o pomoc.

nospor
A konkretnie które?
Używam tego mechanizmu od lat i niespotkałem się, by któraś przeglądarka tego nie obsługiwała.
Może błąd jest gdzieś indziej?

print_r($_POST);
co ci wyświetla?
maviozo
Jeżeli checkbox nie jest zaznaczony, to niestety nie jest w ogóle wysyłane. Na Twoim przykładzie niezaznaczenie środkowego pola wyśle pierwsze i ostatnie, ale nie będziesz o tym wiedział, bo ponumeruje je 0,1. Zaznaczone pola wysyłają zdaje się wartość "on", przynajmniej tak jest jeżeli nie nadajesz innej wartości.
island
Rzeczywiście przeglądarki interpretują to dobrze - dzięki. Zrobiłem prostą stronę i wszystko działało.
Problem polegał na tym, że miałem zagnieżdżony jeden formularz w drugim. Dla niektórych wersji przeglądarek nie stanowiło to problemu, a niektóre nie chciały przetwarzać tego poprawnie. Teraz wszystko działa.

Kod
  <form>
        ...
     <form>
        ...
     </form>
           <input type="checkbox" name="pola[]" id="1" value="1" />
        ...
   </form>
nospor
Form w formie jest ogólnie zakazany. To że na niektórych przeglądarkach działało, to można nawet uznać za bug przeglądarki, bo nie powinna tego w ogóle tolerować.
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.