Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z formularzem...
adeq_PL
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


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

Ten post edytował adeq_PL 23.03.2006, 21:57:29


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
jarudzik
post
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 24.03.2006

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


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
Go to the top of the page
+Quote Post
adeq_PL
post
Post #3





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


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


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 20:39