Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz - checkbox
Forum PHP.pl > Forum > Gotowe rozwiązania
Mori
Witam!

Mam problem z wyświetlaniem odpowiednich rzeczy po wybraniu kilku checkboxów.

Mianowicie, chciałem to zrobić tak:
Mam w formularzy 3 checkboxy:
Kod
<input type="checkbox" name="table" value="players" />
<input type="checkbox" name="table" value="monsters" />
<input type="checkbox" name="table" value="other" />


i chcę, by do każdego wyświetlało odpowiednie teksty, tj. jeżeli wybrany zostanie players i monsters, to żeby wyświetliło dwa teksty - jeden z players, drugi z monsters; jeżeli players i other - to ich teksty itp.

Mam jednak problem:
Zrobiłem to na IF'e zależnym od $_POST['table'], ale to wyświetla tylko ostatni z zaznaczonych checkboxów.

Co powinienem więc zrobić? Przemianować name tych checkboxów, by każdy był unikalny? A może coś innego?
adax2000
dobre winksmiley.jpg sam sobie odpowiadasz w poście na swoje pytanie
należy zmienić ich nazwy każdy na inną, jakiś problem z tego powstaje?
Mori
Przy prawie 70 checkboxach tak... No ale nic, zmienić można...

Tylko mam pytanie:
Nie da się tego jakoś rozwiązać bez zmieniania tego name? Już nie pamietam, szukałem dzisiaj jak się checkboxy wstawia, bo nigdy nie korzystałem raczej, i w przykłądzie były wysyłane przez formularz trzy ładne checkboxy o tym samym name, a różnych value...
adax2000
może i w przykładzie takim jaki i twój były trzy checkboxy i każdy miał inne value, ale i tak wyśle tylko ten ostatni zaznaczony jeśli będą miały taką samą name
Mori
OK, mój bład. Po porstu przy wysyłaniu (action="mailto:") on to wszystko w treści wrzucał, a w wypadku kodu będzie nadpisywał wartości... Teraz widzę.

Za to mam następne pytanie:
Czy dodanie [] do table naprawiłoby wszystko?
I jak wtedy trzebaby to porównywać? (tzn. co się potem z [] dzieje)


EDIT:
OK, poradziłem sobie Rkingsmiley.png

Dodałem [] do każdego table w checkbox'ach, robią z tego, jak słysznie przypuszczałem tablicę.

A potem parsuję to w php tak:
  1. <?php
  2. $number = count($_POST['table']);
  3.  
  4. for ($i = 0; $i < $number; $i++)
  5. {
  6. echo &#092;"Wybrana opcja: \".$_POST['table'][$i].\"<br>\";
  7. }
  8. ?>


Dziękuję więc za pomoc. Temat można zamknąć.
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.