Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyciąganie danych z "dynamicznie" tworzonego formularza.
kononowicz
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


witam. mam problem z wyciąganie danych z formularza. Na początku mojego skryptu okresla sie ile razy ma zostac wyswietlony formularz a ta ilosc zapisywana jest w $_SESSION['il_poz']. dalej wyswietlany jest formularz iles tam razy czyli:

  1. <?php
  2. while($i != $_SESSION['il_poz'])
  3.  {
  4.  $i++;
  5.  <form method="post" action="logowanie.php?id=wyslij" >
  6.  <fieldset><legend>nr '.$i.'.</legend>
  7.  
  8.  <p><label>Nazwa materiału:</label>
  9.  <input type="text" name="nazwa'.$i.'" class="" value="" /> </p>
  10.  
  11.  <p><label>Gatunek:</label>
  12.  <input type="text" name="gatunek'.$i.'" class="" value="" /></p>
  13.  
  14.  <p><label>Ilość:</label>
  15.  <input type="text" name="ilosc'.$i.'" class="" value="" /></p>
  16.  
  17.  <p><label>Sugerowana cena sprzedaży:</label>
  18.  <input type="text" name="cena'.$i.'" class="" value="" /></p>
  19.  
  20.  <p><label>wymiary [mm]:</label>
  21.  <input type="text" name="wymiary'.$i.'" class="" value="" /></p>
  22.  
  23.  <p><label>sugerowany termin realizacji:</label>
  24.  <input type="text" name="termin'.$i.'" class="" value="" /></p>
  25.  
  26.  <p><label>Uwagi:</label>
  27.  <textarea name="uwagi'.$i.'" id="" cols=" " rows=" "></textarea>
  28.  </p>
  29.  
  30.  </fieldset>';
  31.  }
  32.  
  33. <p>
  34. <input type="submit" name="ok" value="ok" class="przycisk" />
  35. </p>
  36. </form>';
  37. ?>


ale teraz nie wiem jak wyciagnac te dane z tego formularza, zeby z wszystkich formularzy zapisac dane do bazy.
Go to the top of the page
+Quote Post
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Pozmieniaj sobie nazwy na coś w stylu
  1. name="forms[$i][nazwa]"

W pliku logowanie.php zrób sobie print_r($_POST); i obejrzyj wyniki...
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
zeby z wszystkich formularzy zapisac dane do bazy.
Nie da sie. MOzna na raz wyslac tylko jeden formularz.
Twoje dane powinny byc zawarte w jednym formularzu
Go to the top of the page
+Quote Post
kononowicz
post
Post #4





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


moze zle sie wyraziłem.. wysyłam w sumie jeden formularz tylko jego wielkosc zalezy od tej zmiennej sesyjnej. nie dołączam formularza tylko element dodatkowy... pewną sekwencje formularza...
Go to the top of the page
+Quote Post
nowotny
post
Post #5





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(kononowicz @ 14.02.2008, 13:22:19 ) *
wysyłam w sumie jeden formularz tylko jego wielkosc zalezy od tej zmiennej sesyjnej. nie dołączam formularza tylko element dodatkowy... pewną sekwencje formularza...

Wg. kodu powyżej, faktycznie robisz kilka formularzy... przenieś sobie '<form method="post" action="logowanie.php?id=wyslij" >' przed pętlę...
Go to the top of the page
+Quote Post
kononowicz
post
Post #6





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


takie cos wychodzi po zapełnieniu 2 razy tego elementu <fieldset> (pierwsza sekwencja byłą wypełniona danymi kolejno 11,12,13,14,15,16,17 ,a druga 21,22,23,24,25,26,27) i wychodzi takie cos (jakby tylko drugi formularz został wyswietlony):
Array
(
[forms] => Array
(
[$i] => Array
(
[nazwa] => 21
[gatunek] => 22
[ilosc] => 23
[cena] => 24
[wymiary] => 25
[termin] => 26
[uwagi] => 27
)

)

[ok] => ok
)
  1. <?php
  2. print '<form method="post" action="logowanie.php?id=wyslij" >';
  3. while($i != $_SESSION['il_poz'])
  4.  {
  5.  $i++;
  6.  
  7.  <fieldset><legend>nr '.$i.'.</legend>
  8.  
  9.  <p><label>Nazwa materiału:</label>
  10.  <input type="text" name="forms[$i][nazwa]" class="" value="" /> </p>
  11.  
  12.  <p><label>Gatunek:</label>
  13.  <input type="text" name="forms[$i][gatunek]" class="" value="" /></p>
  14.  
  15.  <p><label>Ilość:</label>
  16.  <input type="text" name="forms[$i][ilosc]" class="" value="" /></p>
  17.  
  18.  <p><label>Sugerowana cena sprzedaży:</label>
  19.  <input type="text" name="forms[$i][cena]" class="" value="" /></p>
  20.  
  21.  <p><label>wymiary [mm]:</label>
  22.  <input type="text" name="forms[$i][wymiary]" class="" value="" /></p>
  23.  
  24.  <p><label>sugerowany termin realizacji:</label>
  25.  <input type="text" name="forms[$i][termin]" class="" value="" /></p>
  26.  
  27.  <p><label>Uwagi:</label>
  28.  <textarea name="forms[$i][uwagi]" id="" cols=" " rows=" "></textarea>
  29.  </p>
  30.  
  31.  </fieldset>';
  32.  }
  33.  
  34. <p>
  35. <input type="submit" name="ok" value="ok" class="przycisk" />
  36. </p>
  37. </form>';
  38.  
  39. }
  40. ?>


Ten post edytował kononowicz 14.02.2008, 13:40:24
Go to the top of the page
+Quote Post
nowotny
post
Post #7





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Z tego wynika że zrobiłeś to nieumiejętnie... :/ ja pokazałem tylko przykład... do ciebie należała poprawna implementacja...
  1. <input type="text" name="forms['.$i.'][nazwa]" class="" value="" />
  2. ...
  3. itd...
Go to the top of the page
+Quote Post
kononowicz
post
Post #8





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


Cytat(nowotny @ 14.02.2008, 13:38:29 ) *
Z tego wynika że zrobiłeś to nieumiejętnie... :/ ja pokazałem tylko przykład... do ciebie należała poprawna implementacja...
  1. <input type="text" name="forms['.$i.'][nazwa]" class="" value="" />
  2. ...
  3. itd...


sorry.. teraz faktycznie działa i pokazuje:

Array
(
[forms] => Array
(
[1] => Array
(
[nazwa] => 11
[gatunek] => 12
[ilosc] => 13
[cena] => 14
[wymiary] => 15
[termin] => 16
[uwagi] => 17
)

[2] => Array
(
[nazwa] => 21
[gatunek] => 22
[ilosc] => 23
[cena] => 24
[wymiary] => 25
[termin] => 26
[uwagi] => 27
)

)

[ok] => ok
)

a teraz jak odniesc sie (jak go wyswietlic) do elementu o wartosci np. 24 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) czyli druga sekwencja formularza - input o nazwie cena. jak wyswietlic elementy tablicy wielowymiarowej z formularza. $_POST[forms[0][nazwa]]; - bo tak nie mozna :/

Ten post edytował kononowicz 14.02.2008, 14:10:52
Go to the top of the page
+Quote Post
nowotny
post
Post #9





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(kononowicz @ 14.02.2008, 13:44:59 ) *
a teraz jak odniesc sie (jak go wyswietlic) do elementu o wartosci np. 24 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) czyli druga sekwencja formularza - input o nazwie cena. jak wyswietlic elementy tablicy wielowymiarowej z formularza. $_POST[forms[0][nazwa]]; - bo tak nie mozna :/


  1. <?php
  2. $_POST['forms'][2]['cena'];
  3. ?>

Tu się kłaniają podstawy pracy z tablicami wielowymiarowymi... Poczytaj trochę o nich i dokształć się...
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 07:51