Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]checkboxy
Forum PHP.pl > Forum > Przedszkole
krawc
robie cos na kszatl systemu rezerwacji miejsc w kinie, w ramach siedzen wrzucilem sobie w petli checkboxy, ale nie wiem jak sie dalej do nich odwolac, w tablicy $_POST['nazwa'] mam tylko te ktore zaznacze w formularzu. Moze ktos pomoc?

  1. <?php
  2.  
  3. for($i=1;$i<500 ;$i++ ){
  4. if($i%20!=0)
  5.  {
  6.  echo  '<input type="checkbox" name="miejsce[]" value="'.$i.'" > ';
  7.  
  8. }
  9.  else
  10.  {
  11.  
  12. echo '<input type="checkbox" name="miejsce[]" value="'.$i.'" >';
  13.  } }
  14. ?>
sniezny_wilk
Działanie jest prawidłowe, tak właśnie to działa, skoro rezerwujesz miejsca to po co Tobie inne wartości oprócz tych zaznaczonych ?
krawc
ok, to jak sie dostac do wartosci tych boxow. Chodzi mi o to ze chcialem do kazdu checkbox przypisac do jakies zmiennej(tablicy). kurde sam sie juz motam:) mam nadzieje ze wiadomo o co mi chodzi:)
strife
Cytat(krawc @ 5.06.2008, 19:44:14 ) *
ok, to jak sie dostac do wartosci tych boxow. Chodzi mi o to ze chcialem do kazdu checkbox przypisac do jakies zmiennej(tablicy). kurde sam sie juz motam:) mam nadzieje ze wiadomo o co mi chodzi:)

Nie za bardzo rozumiem, hm. jak się dostać do tych wartości? - ano w bardzo prosty sposób, musisz przelecieć tablicę $_POST, checkbox'y które ustawiasz mają domyślnie ustawioną wartość klucza (element[]), dlatego też jak masz 20 checkboxów i zaznaczysz z nich 5, i będziesz chciał wiedzieć jaką wartość ma np. 8 zaznaczony element, to na dobrą sprawę się tego nie dowiesz, ponieważ masz domyślnie ustawiany klucz tego elementu, i przy zaznaczonych 5 elementach, element 8 nie będzie istniał musisz ten kod trochę przerobić:

  1. <?php
  2. for($i=1;$i<500 ;$i++ ){
  3. if($i%20!=0)
  4.  {
  5.  echo  '<input type="checkbox" name="miejsce[' . $i . ']" value="'.$i.'" > ';
  6.  
  7. }
  8.  else
  9.  {
  10.  
  11. echo '<input type="checkbox" name="miejsce[' . $i . ']" value="'.$i.'" >';
  12.  } }
  13. ?>


Teraz nie ma problemu odwołać się do tego elementu, gdyż mamy już ustawiony poprawny klucz.

  1. <?php
  2. foreach ($_POST['miejsce'] as $key => $value) {
  3. echo $key . ' => ' . $value;
  4. }
  5. ?>


Gdyby nie było ustawionej wartości klucza to tak jak mówię, zaznaczasz 3 elementy (12, 16, 19), to przy odwołaniu się do niego $_POST['miejsce'][12] dostaniemy błąd NOTICE, o braku istnienia takiego klucza.

Mam nadzieję, że o to Ci chodziło, pozdrawiam.
sniezny_wilk
Zrób sobie w kodzie

  1. <?php
  2. print_r($_POST['miejsce']); //lub GET zależy co masz
  3. ?>


i wtedy zrozumiesz winksmiley.jpg
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.