Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Nie działające sprawdzanie formularza - problem z tablicą w $_POST
hyhyhy
post
Post #1





Grupa: Zarejestrowani
Postów: 135
Pomógł: 5
Dołączył: 6.02.2011

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


Witam,

Piszę sobię klasę sprawdzającą formularz (z racji, że z OOP dopiero zaczynam, proszę się nie dziwić, że ten kod jakiś śmieszny może być) w każdym razie - mam wyraźne problem z odbiorem zmiennych $_POST. Najpierw kod czytał mi że $_POST[form[$x]] jest puste, gdy nei było i odwrotnie. Zamieniłem miejscami w instrukcji, ale teraz jest coś innego - nie chce mi zapisać jako value inputa zmienna z $_POST. Będę wdzięczny, jeżeli ktoś zerknie i mnie nakieruje, co trzebaby poprawić, chhyba, że to jest totalnie do d smile.gif

  1.  
  2. <?php
  3.  
  4. class formularz
  5. {
  6.  
  7. var $formularz = array();
  8.  
  9.  
  10.  
  11. private function createInput($type, $name, $value, $size, $style, $maxlength, $opis)
  12. {
  13. echo '<input type="'.$type.'" name="'.$name.'" value="'.$value.'" size="'.$size.'" style="'.$style.'" maxlength="'.$maxlength.'" /> '.$opis;
  14. }
  15.  
  16.  
  17.  
  18.  
  19. function showForm()
  20. { echo '<form action=class_form1.php method=post>';
  21. for ($v=0;$v<count($this->formularz);$v++)
  22. {
  23. $elementy = explode (",",$this->formularz[$v]);
  24. $this->createInput($elementy[0],$elementy[1],$elementy[2],$elementy[3],$elementy[4],$elementy[5],$elementy[6]);
  25. echo '<br /><br />';
  26. }
  27. echo '</form>';
  28. }
  29.  
  30. public function spr()
  31. {
  32. for ($v=0;$v<(count($this->formularz)-2);$v++)
  33. {
  34. if (!empty($_POST["form[".$v."]"]))
  35. {
  36. return true;
  37. echo 'TRUE';
  38. }else{
  39. return false;
  40. echo 'FALSE';
  41. break;
  42. }
  43. }return true;
  44. echo 'TRUE';
  45. }
  46.  
  47.  
  48. public function wypiszGdyNiepelny()
  49. { echo '<form action=class_form1.php method=post>';
  50. print_r($_POST);
  51.  
  52. for ($i=0;$i<count($this->formularz);$i++)
  53. {
  54. echo '<font size="6">'.$i.'</font>';
  55. $elementy = explode (",",$this->formularz[$i]);
  56. if (empty($_POST["form[".$i."]"])) {
  57.  
  58. echo 'niepuste';
  59. echo $_POST["form[".$i."]"];
  60. $this->createInput($elementy[0],$elementy[1],$_POST["form[".$i."]"],$elementy[3],$elementy[4],$elementy[5],$elementy[6]);
  61. echo '<br /><br />';
  62.  
  63.  
  64. }else{
  65.  
  66. echo 'puste';
  67. $this->createInput($elementy[0],$elementy[1],' UZUPELNIJ ',$elementy[3],'background-color: #F09E9E;',$elementy[5],$elementy[6]);
  68. echo 'Proszę uzupełnić to pole.<br /><br />';
  69.  
  70. }
  71. }
  72. echo '</form>';
  73. }
  74. } //END CLASS
  75.  
  76. $zarejestruj = new formularz;
  77. $zarejestruj->formularz[0] = 'text, form[0], tu wpisz imie, 60, , 60, Tu wpisz swoje imie';
  78. $zarejestruj->formularz[1] = 'text, form[1], tu wpisz nazwisko, 60, , 60, Tu wpisz swoje nazwisko';
  79. $zarejestruj->formularz[2] = 'hidden, form[2], wyslano, , , , ,';
  80. $zarejestruj->formularz[3] = 'submit, form[3], Wyślij!, , , , ,';
  81.  
  82.  
  83.  
  84. if (!empty($_POST))
  85. {
  86.  
  87. $zarejestruj->spr();
  88. if ($zarejestruj->spr() == true) { echo 'Zapis do bazy, FENKS'; }
  89. else{
  90. $zarejestruj->wypiszGdyNiepelny();
  91. }
  92. }else{
  93. $zarejestruj->showForm();
  94. }
  95.  
  96.  
  97.  
  98.  
  99.  
  100. ?>
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: 21.08.2025 - 21:47