Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] formularz
Angin3
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.01.2005

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


Kiedys dorwalem gotowy formularz na maila i dzialal teraz jednakze chcialbym go rozbudowac i nie wiem co robie zle:

Podstawowa wersja:
  1. <?php
  2. if (empty($_POST['submit'])) {
  3. <form name =\"formularz1\"  action=\"?\" method=\"post\">
  4. <input type=\"checkbox\" name=\"rodzaj\" value=\"indywidualne\">
  5. <input type=\"submit\" name=\"submit\" value=\"Dalej\">
  6. <input type=\"reset\" value=\"Od nowa\"></form>" ;}
  7.  
  8. elseif (($_POST['rodzaj']=='indywidualne')  { echo "działa!";}
  9.  
  10. else echo "Należy zaznaczyc checkbox rodzaj.
  11. Aby powrócić do formularza naciśnij:<input type=\"button\" value=\"WSTECZ\" onClick=\"history.go(-1);\">";
  12. ?>


Takie cos dziala i po odpowiedniej modyfikacji uzupelniam sobie caly formularz a tam gdzie jest Elseif (ktory sprawdza czy wszytko jest wpisane) robie sobie funkcje mail i wysylam formularz tam gdzie chce. Teraz jednak nastapil problem poniewaz formularz jest bardzo rozbudowany i musze sila rzeczy podzielic go na podstorny dlatego chce zrobic takie cos :

Wybieramy rodzaj -> wedle rodzaju pojawiaja sie kolejen tabelki -> pozniej podsumowanie -> wyslij

czyli chce zrobic cos takiego :

  1. <?php
  2.  
  3. //// jezeli nie wcisneito przycisku SUBMIT pokazuje formularz
  4.  
  5. if (empty($_POST['submit']))
  6. {
  7. echo "<form name =\"formularz1\"  action=\"?\" method=\"post\">
  8.         <input type=\"checkbox\" name=\"rodzaj\" value=\"indywidualne\">
  9.         <input type=\"submit\" name=\"submit\" value=\"Dalej\">";
  10. }
  11.  
  12. //// Jezeli wcisnieto i rodzaj = indywidualen przechodzi do drugiej czesci formularza
  13. elseif (($_POST['rodzaj']=='indywidualne')  
  14. {
  15.    ////// Tutaj jest identyczny formularz jak poprzednio wyswietla sie zawartosc do wpisania imienia oraz klikniecia SUBMIT2 ale po kliknieciu wraca mi na strone glowna i nic nie wysyla
  16.     if (empty($_POST['submit2']))
  17.         {
  18.          echo"<form name =\"indywidualne\"  action=\"?\" method=\"post\">
  19.              <input type=\"text\" name=\"imie\">
  20.              <input type=\"submit\" name=\"submit2\" value=\"wyslij\"> ";}
  21.          elseif ($_POST['imie']) { echo "działa"; mail();}
  22.  
  23.          else {echo"nie wpisano imienia";}
  24. }
  25.  
  26. //// jezeli nie zakreslono rodzaju wypisuje blad ze nie wybrano
  27. else echo "Należy zaznaczyc checkbox rodzaj.
  28. Aby powrócić do formularza naciśnij:<input type=\"button\" value=\"WSTECZ\" onClick=\"history.go(-1);\">";
  29. ?>


To co napisalem to tylko szablon tak naprawde mam tam duzo wiecej tresci...

Prosze o pomoc!
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


po 1, nie utrudniaj sobie życia - zamiast robić coś takiego
  1. <?php
  2. <form name =\"formularz1\"  action=\"?\" method=\"post\">
  3. <input type=\"checkbox\" name=\"rodzaj\" value=\"indywidualne\">
  4. <input type=\"submit\" name=\"submit\" value=\"Dalej\">
  5. <input type=\"reset\" value=\"Od nowa\"></form>" ;}
  6. ?>

zrób tak:
  1. <?php
  2. <form name ="formularz1"  action="?" method="post">
  3. <input type="checkbox" name="rodzaj" value="indywidualne">
  4. <input type="submit" name="submit" value="Dalej">
  5. <input type="reset" value="Od nowa"></form>' ;}
  6. ?>


a po 2 nie napisałeś co mamy zrobić...

edit:
a po 3 tu jest błąd:
  1. <?php
  2. elseif (($_POST['rodzaj']=='indywidualne')
  3. ?>

brak )

Ten post edytował Pawel_W 8.07.2009, 13:22:00
Go to the top of the page
+Quote Post
Angin3
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.01.2005

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


wiem ze tam jest blad poniewaz chcialem przepisac tylko koncepcje


Chodzi o to ze mam formularz w ktorym wybiera sie najpierw rodzaj zgloszenia -> indywidualne lub grupiowe -> nastepnie zaleznie od wyboru otwiera sie nowy formularz w ktorym sa do wypelnienia dane i guzik do wyslania zawartosci mailem

To co napisałem wydaje mi sie dobre tylko że guzik SUBMIT2 nie przekierowuje mnie do kolejnego elseif . Zachwile postaram sie lepiej napisac zrodlo kodu.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


zamiast robić takie mecyje to dodaj po prostu $_GET do formularza i potem prosty switch...
Go to the top of the page
+Quote Post
Angin3
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.01.2005

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


A czy mogłbys napisac mi szablon jak to ma dzialac to ja wtedy postaram sie go przeanalizowac i wykozystac w moim problemie?

Bylbym bardzo wdzieczny
Go to the top of the page
+Quote Post
Pawel_W
post
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


prosze bardzo
  1. <?php
  2.  
  3. switch ($_GET['go'])
  4. {
  5. default:
  6. echo "<form name =\"formularz1\"  action=\"?go=kolejny\" method=\"post\">
  7.        <input type=\"checkbox\" name=\"rodzaj\" value=\"indywidualne\">
  8.        <input type=\"submit\" name=\"submit\" value=\"Dalej\">";
  9. break;
  10. case 'kolejny':
  11.         echo"<form name =\"indywidualne\"  action=\"?go=kolejny_kolejny\" method=\"post\">
  12.             <input type=\"text\" name=\"imie\">
  13.             <input type=\"submit\" name=\"submit2\" value=\"wyslij\"> ";
  14. break;
  15. case 'kolejny_kolejny':
  16. // itd...
  17. break;
  18. }
  19. ?>
Go to the top of the page
+Quote Post
Angin3
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.01.2005

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


Cały system switcha jest swietny dorobilem tam jednego IFa w wyborze zgloszenia i wszystko przechodzi tak jak powinno jest tylko jeden problem

Zmienne przechodza tylko raz, za drugim razem juz ich nie ma czyli. Pewnikiem odpowiedz czy tez sposob jest prosty ale nie jestem na tyle ogarniety zeby na niego wpasc...

1Formularz (zmienna $imie) -> go?=kolejne (zmienna $imie sie wyswietla) -> go?kolejne_kolejne (zmienna $imie sie nie wyswietla)

Domyslam sie ze to dlatego iz post wysyla tylko raz te zmienne do kolejnego case'a. Co z tym fantem?
Go to the top of the page
+Quote Post
Quantum
post
Post #8





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


Jeśli dobrze zrozumiałem przy wysyłaniu kolejnego formularza ten gubi twoje dane z poprzedniego. Możesz zastosować sesje, albo prościej w tym kolejnym formularzu (dla przykładu gdy $_POST['var'] to zmienna z poprzedniego formularza) do kolejnego wklejasz to
  1. <?php
  2. echo '<input name="var" type="hidden" value="'.$_POST['var'].'">';
  3.  
  4. ?>


napisz czy o to chodziło

Ten post edytował sniffer32 8.07.2009, 16:41:20
Go to the top of the page
+Quote Post
Angin3
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.01.2005

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


Super pomoglo czyli takie przekopiowanie spowrotem zawartosci wczesniejszej i zduplikowanie jej dla potrzeby nastepnego formularza. moze to i nie optymalne ale na te pare zmiennych wystarczy! to ide to wszystko ogarnac i chyba uda mi sie skonczyc jak cos to jeszcze napisze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) napewno!

Dzieki Wielkie!
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: 24.08.2025 - 12:20