Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przetwarzanie formularzy
Forum PHP.pl > Forum > Przedszkole
BPAWLIK
Prośba do moderatora o skasowanie dwóch moich poprzednich postów o tym samym temacie (znowu zawiodl ISP)
a teraz moze sie uda...

Witam

mam troche skomplikowany problem ale postaram sie go jasno opisac.
1. Mam strone wygladajaca mniej wiecej tak
(pozwole sobie na pewne uproszczenia)
skrytp1 generuje formularz , zarowno nazwy pol formularza jak i wartosci pola checkbox generowana jest na podstawie danych z bazy
<form method=post>
<input type=text name=ilosc1><input type=text name=typ1><input type=checkbox name=cb1 value=15>
<input type=text name=ilosc2><input type=text name=typ2><input type=checkbox name=cb2value=16>
<input type=text name=ilosc3><input type=text name=typ3><input type=checkbox name=cb3 value=17>

nastepnie uzytkownik zaznacza ktore chce checkboxy
skrypt2 powinien odczytac wartosci zmiennych iloscn typn dla tych checkboxow, ktore zostaly zaznaczone i przechowuje nadana wczesniej wartosc
nastepnie zapisuje je do bazy korzystajac z wartosci danego checkboxa

problem glownie jest w tym jak sprawdzic wartosci zmiennych ktorych nie znam dokladnej nazwy (ilosc "wierszy" w formularzu jest zawsze rozna), gdzies przeczytalem ze zmienne zmiennych nie dzialaja z tablicami _POST i _GET (co zreszta wyprobowalem,
mam podobny skrypt w ktorym wystepuje jednak tylko checkboxy z nadanymi roznymi wartosciami i radze sobie z tym konstrukcja:

foreach($HTTP_POST_VARS as $pole=>$wartosc)

bede wdzieczny za wskazowki, ewentualnie przyklady

PS. mechanizm sesji nie wchodzi w grę
sf
Mozna stworzyc <input type="hidden"... , ktory bedzie przechowywal ilosc wierszy.
scanner
Możesz użyć tablicy jako nazwy pól w formularzu:
  1. <form method=post>
  2. <input type="text" name="ilosc[1]"><input type="text" name="typ[1]"><input type="checkbox" name="cb" value="15">
  3. <input type="text" name="ilosc[2]"><input type="text" name="typ[2]"><input type="checkbox" name="cb" value="16">
  4. <input type="text" name="ilosc[3]"><input type="text" name="typ[3]"><input type="checkbox" name="cb" value="17">
W wyniku powinienieś dostac tablicę:
  1. <?php
  2. $_POST['ilosc'] = array();
  3. $_POST['typ'] = array();
  4. $_POST['cb'] = array();
  5. ?>

Sprawdź sobie, bo ja mogłem się machnąć w kodzie (rano jest, niewyspany)- ale zasada jest taka jak podałem.
bpawlik
sorki ale troche to dla mnie niejasne,

czy moglbym prosic o troche bardziej dokladna odpowiez questionmark.gif?
bpawlik
mam !

znalazłem rozwiązanie, może komuś się przyda
  1. <?php
  2.  
  3.  
  4. $tablica =& $GLOBALS['HTTP_POST_VARS'];
  5.  
  6. $i=0;
  7. $nazwa = 'ilosc'.$i;
  8. echo $nazwa;
  9.  
  10. echo $tablica[$nazwa];
  11.  
  12.  
  13. ?>


ostatnie echo wyswietli zawartosc
  1. <?php
  2.  
  3. $tablica['ilosc0'];
  4.  
  5. ?>

należy przez referencje odwolac sie do tablicy _POST i stworzyc jej kopie w tym trzypadku zmienna $tablica
a potem to już można wszystko (no prawie...)


pozdrowionka
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.