Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Warunek if dla formularza.
Forum PHP.pl > Forum > Przedszkole
Szunaj85
Mam formularz i w nim trzy pola. Powiedzmy: $pole_1, $pole_2, $pole_3.
Chcę żeby osoba uzupełniająca formularz wypełniła minimum 2 z 3 pól. Nie ma znaczenia które pola wypełni.
Jak napisać taki warunek? "Jeżeli nie wypełniono minimum 2 z 3 pól wyświetl komunikat".
Marteen
Nazwij zmienne tak: $pole[1] itd.
  1. $licznik = 1;
  2. while ($licznik <= 3) { // powtarza 3 razy - dla każdej zmiennej
  3. if ($pole[$licznik] == '') {unset($pole[$licznik]);} // jeśli zmienna jest pusta - usuwa ją
  4. $licznik = $licznik + 1;
  5. }
  6. if (count($pole) >= 2) { // ilość pól z zawartością
  7. echo 'Wypelnione sa minimum 2 pola.';
  8. } else {
  9. echo 'wypelnione sa mniej niż 2 pola!';
  10. }
  11.  

spróbuj.
skarabe.pl
  1. if (count($_POST) - count(array_filter($_POST)) > 1) {
  2. echo 'Error!';
  3. }

Zadziała jeżeli cały formularz jest zbudowany z takich pól.
Marteen
Każde pole dodaj do tablicy w zmiennej $pole:

  1. $pole[1] = $_POST['pole_formularza_1'];
  2. $pole[2] = $_POST['pole_formularza_2'];
  3. $pole[3] = $_POST['pole_formularza_3'];

a następnie wykonaj to, co napisałem wcześniej.
lDoran
W domu jeszcze sprawdzę, ale chyba jest dobrze:

  1. <?php
  2. $tab = array($_POST['pole_1'], $_POST['pole_2'], $_POST['pole_3']);
  3. $count = 0;
  4.  
  5. for($i = 0; $i < 3; $i++)
  6. {
  7. if(i$tab[i] 1 != '')
  8. $count += 1;
  9. }
  10.  
  11. if($count < 2)
  12. echo 'Wypełnij co najmniej dwa pola';
  13. ?>


EDIT:
Sprawdziłem wszystko działa [;
Szunaj85
lDoran wiem, że można to w taki sposób zrobić - czyli pętle, tablice, ale czy nie dałoby się to ograniczyć do samego warunku if?
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.