Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Formularz i sprawdzanie czy pola nie są puste
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Witam,
W formularzu mam małą tabelkę składającą się z 3 kolumn i 8 wierszy, razem 24 pola.

1. [ ] [ ] [ ]
2. [ ] [ ] [ ]
...
7. [ ] [ ] [ ]
8. [ ] [ ] [ ]


Chciałbym sprawdzić czy wszystkie pola zostały uzupełnione, ale tylko w danym wierszu.
Czyli inaczej mówiąc jeśli użytkownik uzupełnił tylko pierwszy wiersz sprawdzić czy wszystkie pola w pierwszym wierszu zostały uzupełnione, pozostałe wiersze mogą zostać puste.
Jeśli użytkownik uzupełnił pierwszy i drugi wiersz sprawdzić czy wszystkie pola w pierwszym i drugim wierszu zostały uzupełnione, pozostałe wiersze mogą zostać puste. itd.
Każda zmienna ma inną nazwę. Jak powinna wyglądać taka weryfikacja?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Zależy jakie wprowadziłeś nazewnictwo pól? Bo jeśli np.

  1. <input name="wiersz1[]"/><input name="wiersz1[]"/><input name="wiersz1[]"/>
  2. <input name="wiersz2[]"/><input name="wiersz2[]"/><input name="wiersz2[]"/>


itd. To tak:

  1. for ($i=1; $i<=8; $i++) {
  2. $wiersz = 'wiersz'.$i;
  3. if (sizeof($_POST[$wiersz])>0 AND sizeof($_POST[$wiersz])<3) echo 'wiersz ' . $i . ' zawiera nieuzupelnione pola';
  4. }
Go to the top of the page
+Quote Post
Szunaj85
post
Post #3





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Nazewnictwo pól opiera się na takim wzorze:
  1. <input name="a_1"/><input name="b_1"/><input name="c_1"/>
  2. <input name="a_2"/><input name="b_2"/><input name="c_2"/>
itd.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


No to trzeba inaczej nieco zrobić:

  1. $nazwy_pol = array('a', 'b', 'c');
  2.  
  3. for ($i=1; $i<=8; $i++) {
  4. foreach($nazwy_pol as $value) {
  5. $licznik_niepustych = 0;
  6. $sprawdzane_pole = $value.'_'.$i;
  7. if (!empty($_POST[$sprawdzane_pole])) $licznik_niepustych++;
  8. }
  9. if ($licznik_niepustych > 0 AND $licznik_niepustych<3) echo 'linia '.$i.' zawiera puste pola. dziekuje, dobranoc.';
  10. }


Ten post edytował b4rt3kk 5.10.2012, 14:37:52
Go to the top of the page
+Quote Post
Szunaj85
post
Post #5





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

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


Twój kod zawiera błąd. Niemniej nakierowałeś mnie na właściwy tor, a ja już sobie poprawiłem niedopatrzenia i dostosowałem go do własnych potrzeb. Dziękuję za pomoc.
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: 15.09.2025 - 23:28