Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z formularzem...
Forum PHP.pl > Forum > PHP
adeq_PL
Witam.

Jestem w trakcie tworzenia pewnego formularza i zawiesilem sie w pewnym momencie i nie wiem co dalej robic....

Formularz ma dzialac na nastepujacej zasadzie:

1) Mamy liste rozwijana, dwa pola text i jeden submit.
2) Wybieramy wartosc z listy rozwjanej i wpisujemy dane do pol tekstowych.
3) Wciskamy przycisk submit i w tym momencie sie zawieszam bo nie moge dojsc jak zrobic, zeby po wcisnieciu przycisku submit:
- zapisaly sie wartosci wprowadzone do formularza
- zostaly one wyswietlone
- wyswietlil sie nowy formularz, do ktorego ponownie mozna by wprowadzic nowe dane. Ale tak aby po kolejnym wyborze danych z formularza poprzednie wyswietlaly sie ponad nim....

Wiem ze troche zakrecilem, ale mam nadzieje ze zrozumienie o co mi chodzi....

Ponizej podaje kod do ktorego doszedlem...

  1. <?php
  2.  
  3.                if(isset($_POST['dalej'])) {                 
  4.                 
  5.                          
  6.                  echo $wybor;
  7.                  echo $od;
  8.                  echo $do;  
  9.                  
  10.                  echo "<br>";   
  11.          
  12.                 
  13.  
  14.                 }
  15.  
  16.  
  17.                 else {
  18.  
  19.                  echo "<form action='' method='post'> 
  20.              
  21.                  <select name='wybor'>
  22.                  <option>pon.-piat.</option>
  23.                  <option>weekend</option>
  24.                  <option>pon.</option>
  25.                  <option>wt.</option>
  26.                  <option>śr.</option>
  27.                  <option>czw.</option>
  28.                  <option>piat.</option>
  29.      <option>sob.</option> 
  30.                  <option>niedz.</option>
  31.                  </select>
  32.  
  33.                  <font class='edytuj'>od </font>
  34.                     <input size='1' maxlength='2' type='text' name=od> 
  35.                  <font class='edytuj'>do </font>
  36.                     <input size='1' maxlength='2' type='text' name=do>
  37.                     <input type=submit value='Dalej' name='dalej'>
  38.  
  39.          </form>";
  40.  
  41.                }
  42.                
  43.  
  44. ?>


Jak Wy rozwiazalibyscie ten problem?


Zastanawiam sie czy rozwiazala by problem ktoras petla czy moze trzba zastosowac jakas inna metode...
jarudzik
To zobacz co sie stanie jak wpiszesz taki kod
zamiast tego pierwszego if'a

  1. <?php
  2.  
  3.  
  4.  
  5. // $_POST to nic innego jak tablica , wiec ...
  6. if(isset($_POST['dalej'])) { 
  7. echo "<pre>";
  8. unset($_POST['dalej']); // bo juz nie potrzebny  
  9. foreach ($_POST as $key => $val){
  10. echo "nazwa pola: {".$key."} oraz jego wartosc {".$val."}\n";
  11. // tu sobie mozesz np złozyc zapytanie do bazy 
  12. // np:
  13. $sql_query.= $key." = ".$val.",";
  14. // oczywiscie dobrze by było jakos zwalidowac 
  15. // dane z formularza ale to inna historia 
  16. }
  17. echo "</pre>";
  18. }
  19.  
  20. ?>


i bez tego elsa dalej,
jako value w buttonach wpisujesz
(w select napisz <option value ="nazwa">nazwa</option>)
(przyjmowanie domyślnych wartosci to wg mnie zły nawyk)

  1. <? echo $_POST ['nazwa pola formularza']; ?>


albo - w przypadku selecta

  1. <option value ="nazwa" <? if ($_POST ['nazwa selecta']=="nazwa") echo "selected"; ?>>nazwa</option>
  2. // oczywiscie mozna to zrobic zgrabniej 


no i poczytaj manuala bo to co pytasz to podstawy
ale ja tez kiedys byłem zielona bestia smile.gif

Poczytaj mi mamo o foreach
Poczytaj mi tato o zmiennych predefiniowanych

Pozdrawiam
Rafał Litwin
adeq_PL
Witam. Musialem znow poruszyc ten temat bo nie daje mi to spokoju....

Na pewno jest to banalne zagadnienie, ale ja sobie z tym nie umie poradzic...

Doszedlem do takiego kodu:

  1. <?php
  2.  while(isset($_POST['dalej'])){
  3.  
  4. unset($_POST['dalej']);
  5.  
  6. echo $wybor." od ".$od." do ".$do."<br>";
  7.  
  8.  }
  9.  
  10. echo "<form action='str_godz_adm.php' method='post'>
  11.  
  12.  <select name='wybor'>
  13.  <option>pon.-piat.</option>
  14.  <option>weekend</option>
  15.  <option>pon.</option>
  16.  <option>wt.</option>
  17.  <option>śr.</option>
  18.  <option>czw.</option>
  19.  <option>piat.</option>
  20.  <option>sob.</option> 
  21.  <option>niedz.</option>
  22.  </select>
  23.  
  24.  <font class='edytuj'>od </font>
  25. <input size='1' maxlength='2' type='text' name='od'> 
  26.  <font class='edytuj'>do </font>
  27. <input size='1' maxlength='2' type='text' name='do'>
  28. <input type=submit value='Dalej' name='dalej'>
  29. </form>";
  30.  
  31. ?>


Ale ten formularz wyswietla tylko jedna linijke danych i po kazdej zmianie, linijka danych wybranych poprzednio z formularza jest zastepowana nowa...

Jak mam zrobic zeby kolejne wartosci z formularza zapisywaly sie jedne pod drugim, i zeby nie mialy wplywu na poprzednie...

jarudzik - nie wiem moze jestem zielony z tego jeszcze ale chyba nie o to mi chodzilo....

pozdrawiam i prosze o pomoc....
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.