Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Podzielony formularz
Forum PHP.pl > Forum > Przedszkole
Fixer
Mam do wypełnienia danymi formularz który się składa z np. 5 kroków.
Nie chcę jednak umieszczać wszystkich pól na jednej stronie, chcę to podzielić tak aby po wypełnieniu jedej częsci był przycisk "DALEJ" który jest odnośnikiem do kroku 2 na końcu jest akceptacja danych (wszystko wyświetla co wpisaliśmy wcześniej w poprzednich krokach). Potem jak coś źle jest wpisane to żeby można było dać cofnij i poprawić dane.

mam taki oto formularz: (index.php) (KROK1)
  1. <form action="sprawdz.php" method="post">
  2. <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
  3. <tr>
  4. <td height="20" colspan="2">Formularz:</td>
  5. </tr>
  6. <tr>
  7. <td height="20" colspan="2">&nbsp;</td>
  8. </tr>
  9. <tr>
  10. <td height="10" colspan="2">Podanie powyższych danych jest dobrowolne.<br>
  11. Osoby nieposiadaj&plusmn;ce pełnej zdolno&para;ci do czynno&para;ci prawnych przed wyrażeniem zgody na przetwarzanie danych osobowych zobowi&plusmn;zane s&plusmn; do uzyskania uprzedniej zgody rodziców lub opiekunów prawnych.<br>
  12. Administratorem danych osobowych jest &quot;Firma&quot;.</td>
  13. </tr>
  14. <tr>
  15. <td height="10" colspan="2">&nbsp;</td>
  16. </tr>
  17. <tr>
  18. <td height="10" colspan="2">Krok: <span class="style1">1</span> (dane personalne) </td>
  19. </tr>
  20. <tr>
  21. <td colspan="2">
  22.  
  23. <table width="450" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" RULES="NONE">
  24. <tr>
  25. <td height="20" colspan="3">&nbsp;</td>
  26. </tr>
  27. <tr>
  28. <td width="172" height="25" align="right" valign="middle">Imię:</td>
  29. <td width="20" align="center" valign="middle">&nbsp;</td>
  30. <td width="260" height="25" align="left" valign="middle"><input name="imie" type="text" id="imie"></td>
  31. </tr>
  32. <tr>
  33. <td height="25" align="right" valign="middle">Nazwisko:</td>
  34. <td width="20" align="center" valign="middle">&nbsp;</td>
  35. <td height="25" align="left" valign="middle"><input name="nazwisko" type="text" id="nazwisko"></td>
  36. </tr>
  37. <tr>
  38. <td height="20" colspan="3">&nbsp;</td>
  39. </tr>
  40. </table>
  41.  
  42. </td>
  43. </tr>
  44. <tr>
  45. <td height="20" colspan="2">&nbsp;</td>
  46. </tr>
  47. <tr>
  48. <td width="225" height="20" align="left" valign="middle"><input type="reset" name="Reset" value="Wyczy&para;ć pola"> </td>
  49. <td width="225" align="right" valign="middle"><input type="submit" name="Submit" value="Dalej &gt;"></td>
  50. </tr>
  51. <tr>
  52. <td height="5" colspan="2">&nbsp;</td>
  53. </tr>
  54. </form>


KROK2
  1. <form action="sprawdz.php" method="post">
  2. <table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
  3. <tr>
  4. <td height="20" colspan="2">Formularz:</td>
  5. </tr>
  6. <tr>
  7. <td height="20" colspan="2">&nbsp;</td>
  8. </tr>
  9. <tr>
  10. <td height="10" colspan="2">Krok: <span class="style1">2</span> (dane personalne) </td>
  11. </tr>
  12. <tr>
  13. <td colspan="2">
  14.  
  15. <table width="450" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" RULES="NONE">
  16. <tr>
  17. <td height="20" colspan="3">&nbsp;</td>
  18. </tr>
  19. <tr>
  20. <td width="172" height="25" align="right" valign="middle">Telefon:</td>
  21. <td width="20" align="center" valign="middle">&nbsp;</td>
  22. <td width="260" height="25" align="left" valign="middle"><input name="imie" type="text" id="imie"></td>
  23. </tr>
  24. <tr>
  25. <td height="25" align="right" valign="middle">Adres:</td>
  26. <td width="20" align="center" valign="middle">&nbsp;</td>
  27. <td height="25" align="left" valign="middle"><input name="nazwisko" type="text" id="nazwisko"></td>
  28. </tr>
  29. <tr>
  30. <td height="20" colspan="3">&nbsp;</td>
  31. </tr>
  32. </table>
  33.  
  34. </td>
  35. </tr>
  36. <tr>
  37. <td height="20" colspan="2">&nbsp;</td>
  38. </tr>
  39. <tr>
  40. <td height="10" colspan="2"><input type="checkbox" name="checkbox" value="checkbox">
  41. Wyrażam zgodę na przetwarzanie moich danych osobowych zgodnie z tre&para;ci&plusmn; Ustawy o ochronie danych osobowych z dnia 29.08.1997r. (Dz. U. Nr 133 poz. 883 ze zm.) przez firmę &quot;nazwa firmy&quot; z siedzib&plusmn; w &quot;Miasto&quot; przy ul. &quot;Ulica i numer&quot;. Jestem &para;wiadomy faktu, iż przysługuje mi prawo wgl&plusmn;du do moich danych, ich poprawiania lub ż&plusmn;dania ich usunięcia.</td>
  42. </tr>
  43. <tr>
  44. <td height="20" colspan="2">&nbsp;</td>
  45. </tr>
  46. <tr>
  47. <td width="225" height="20" align="left" valign="middle"><input type="reset" name="Reset" value="Wyczy&para;ć pola"> </td>
  48. <td width="225" align="right" valign="middle"><input type="submit" name="Submit" value="Dalej &gt;"></td>
  49. </tr>
  50. <tr>
  51. <td height="5" colspan="2">&nbsp;</td>
  52. </tr>
  53. </form>


(sprawdz.php) (wyświetla wpisane dane z formularza)
  1. <?
  2. $imie = $_POST[&#092;"imie\"];
  3. $nazwisko = $_POST[&#092;"nazwisko\"];
  4. ?>
  5. <table width=\"450\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  6. <tr>
  7. <td height=\"20\" colspan=\"2\">Zanim wyśleś ten formularz sprawdź poprawność wpisanych przez Ciebie danych.
  8. Jeśli wszystko się zgadza potwierdź wysłanie formularza przyciskiem &quot;Wyślij &gt;&quot; . </td>
  9. </tr>
  10. <tr>
  11. <td colspan=\"2\">&nbsp;</td>
  12. </tr>
  13. <tr>
  14. <td colspan=\"2\"><table width=\"450\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\" RULES=\"NONE\">
  15. <tr>
  16. <td height=\"20\" colspan=\"3\">&nbsp;</td>
  17. </tr>
  18. <tr>
  19. <td width=\"172\" height=\"25\" align=\"right\" valign=\"middle\">Imię:</td>
  20. <td width=\"20\" align=\"center\" valign=\"middle\">&nbsp;</td>
  21. <td width=\"260\" height=\"25\" align=\"left\" valign=\"middle\"><B><? echo htmlspecialchars($imie, ENT_QUOTES); ?></B></td>
  22. </tr>
  23. <tr>
  24. <td height=\"25\" align=\"right\" valign=\"middle\">Nazwisko:</td>
  25. <td width=\"20\" align=\"center\" valign=\"middle\">&nbsp;</td>
  26. <td height=\"25\" align=\"left\" valign=\"middle\"><B><? echo htmlspecialchars($nazwisko, ENT_QUOTES); ?></B></td>
  27. </tr>
  28. <tr>
  29. <td height=\"20\" colspan=\"3\">&nbsp;</td>
  30. </tr>
  31. </table></td>
  32. </tr>
  33. <tr>
  34. <td height=\"20\" colspan=\"2\">&nbsp;</td>
  35. </tr>
  36. <tr>
  37. <td colspan=\"2\">&nbsp;</td>
  38. </tr>
  39. <tr>
  40. <td width=\"225\" height=\"20\" align=\"left\" valign=\"middle\"><input name=\"Popraw\" type=\"submit\" id=\"Popraw\" value=\"&lt; Popraw\">
  41. </td>
  42. <td width=\"225\" align=\"right\" valign=\"middle\"><input name=\"Wyslij\" type=\"submit\" id=\"Wyslij\" value=\"Wyślij &gt;\"></td>
  43. </tr>
  44. <tr>
  45. <td height=\"5\" colspan=\"2\">&nbsp;</td>
  46. </tr>
  47. </table>
nospor
Ale jakei jest pytanie? Póki co widzę same zdania twierdzące. W czym problem?

pozatym to chyba z kroku pierwszego powinno isc do kroku drugiego a nie do sprawdz.
Jesli nie wiesz jak zapamiętac dane z posczegolnych krókow to zainteresuj się sesją.
Fixer
Cytat
W czym problem?

Problem w tym, że nie wiem jak w sesji (lub w inny sposóB) przekazać te dane z formularza aby potem można było się no niego cofnąć i poprawić....

1. Krok 1 (formularz)
1 a) sprawdzenie poprawności danych
2. Krok 2 (formularz)
2 a) sprawdzenie poprawności danych
3. Potwierdzenie wpisanych danych (możliwość wydrukowania ich oraz mozliwość cofnięcia się i poprawienia ich)
4. wysłanie danych (na maila, do bazy danych lub do pliku)
5. Podziękowanie za wypełnienie formularza...
5 a). Zablokowanie odświerzania/przeładowania formularza.

Mam problem w punkcie 3 (sesje które zapamiętywały by te dane z opcją cofnięcia się)
nospor
Sesja to w php zwykła tablica (może nie do końca - ale piszesz i czytasz jak do zwyklej tablicy). Czyli po każdym wyslaniu formualrza (kolejnym kroku) zapisujesz dane z pól do sesji (do tablicy). Dane te są zapamiętywane w kolejnych skryptach do czasu aż ich nie usuniesz lub sesja nie wygaśnie. W przypadku gdy będziesz robil cofniecie do poprzedniego kroku to wystarczy już tylko wczytac dane z sesji (z tablicy) i wpisać je do formularza.

Na temat sesji na forum było bardzo wiele topiców, wystarczy wpisac w wyszukiwarce slowo sesja i już. Ta lektura powinna ci pomóc. Najpierw musisz sam zagŁębić tajniki sesji a dopiero potem jak już bedziesz to realizowal natrafisz na problem do nierozwiązania - walić na forum.

pozdro i owocnej pracy życzę
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.