Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]tworzenie formularza, klasa
skabszo
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 27.08.2004

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


Witam jestem baardzo początkujący w php i chciałbym napisać sobie klasę odpowiadającą za generowanie formularza. W htmlu powinien wyglądać on tak:
  1. <form action="form.class.php" method="post" name="worklog">
  2. <p>monday</p>
  3. <select name="monday_start">
  4. <option>6:00</option>
  5. <option>7:00</option>
  6. <option>8:00</option>
  7. <option>9:00</option>
  8. <option>10:00</option>
  9. <option>11:00</option>
  10. <option>12:00</option>
  11. <option>13:00</option>
  12. <option>14:00</option>
  13. <option>15:00</option>
  14. <option>16:00</option>
  15. <option>17:00</option>
  16. <option>18:00</option>
  17. <option>19:00</option>
  18. <option>20:00</option>
  19. <option>21:00</option>
  20. <option>22:00</option>
  21. <option>OFF</option>
  22. <select name="monday_stop">
  23. <option>6:00</option>
  24. <option>7:00</option>
  25. <option>8:00</option>
  26. <option>9:00</option>
  27. <option>10:00</option>
  28. <option>11:00</option>
  29. <option>12:00</option>
  30. <option>13:00</option>
  31. <option>14:00</option>
  32. <option>15:00</option>
  33. <option>16:00</option>
  34. <option>17:00</option>
  35. <option>18:00</option>
  36. <option>19:00</option>
  37. <option>20:00</option>
  38. <option>21:00</option>
  39. <option>22:00</option>
  40. <option>OFF</option>
  41. <p>tuesday</p>
  42. ...
  43. <p>wednesday</p>
  44. ..
  45. cały tydzień
  46. <input type="submit" name="sendit">
  47. </form>
jak widać w cholere długi ten kod więc dążąc do tego by kod w php był jak najkrótszy rozkminiłem coś takiego tylko wiem że zapewne to źle jest:
  1. <?php
  2. $form = new genForm;
  3. $form->startForm(basename($_SERVER['PHP_SELF']));
  4. $form->newline = false;
  5. $form->textInput('monday','Monday',false,'block required');
  6. $form->startSelect('mondaystart','Start time:',false,'block');
  7. $form->addOption('off','off');
  8. $form->addOption('5:00','5:00');
  9. $form->addOption('6:00','6:00');
  10. $form->addOption('7:00','7:00');
  11. $form->addOption('8:00','8:00');
  12. $form->addOption('9:00','9:00');
  13. $form->addOption('10:00','10:00');
  14. $form->addOption('11:00','11:00');
  15. $form->addOption('12:00','12:00');
  16. $form->addOption('13:00','13:00');
  17. $form->addOption('14:00','14:00');
  18. $form->addOption('15:00','15:00');
  19. $form->addOption('16:00','16:00');
  20. $form->addOption('17:00','17:00');
  21. $form->addOption('18:00','18:00');
  22. $form->addOption('19:00','19:00');
  23. $form->addOption('20:00','20:00');
  24. $form->addOption('21:00','21:00');
  25. $form->addOption('22:00','22:00');
  26. $form->closeSelect();
  27. $form->startSelect('mondaystop','Stop time:',false,'block');
  28. $form->addOption('off','off');
  29. $form->addOption('5:00','5:00');
  30. $form->addOption('6:00','6:00');
  31. $form->addOption('7:00','7:00');
  32. $form->addOption('8:00','8:00');
  33. $form->addOption('9:00','9:00');
  34. $form->addOption('10:00','10:00');
  35. $form->addOption('11:00','11:00');
  36. $form->addOption('12:00','12:00');
  37. $form->addOption('13:00','13:00');
  38. $form->addOption('14:00','14:00');
  39. $form->addOption('15:00','15:00');
  40. $form->addOption('16:00','16:00');
  41. $form->addOption('17:00','17:00');
  42. $form->addOption('18:00','18:00');
  43. $form->addOption('19:00','19:00');
  44. $form->addOption('20:00','20:00');
  45. $form->addOption('21:00','21:00');
  46. $form->addOption('22:00','22:00');
  47. $form->closeSelect();
  48. $form->insertBR();
  49. $form->newline = false;
  50. $form->submitButton();
  51. $form->closeForm();
  52.  
  53. if(!$output = $form->getForm()) { die("error: " . $form->error); }
  54. else { echo $output; }
  55. ?>
tylko nie wiem własnie jak załatwić by nie wypisywać za każdym razem tych addOption tylko hm.. jakąś wewnętrzną klasę jeszcze zrobić? da się tak? bo tego straasznie dużo jest kiedy mam to podzielone na każdy dzień tygodnia;/
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 04:29