Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Warunek sprawdzający czy przynajmniej jeden checkbox został zaznaczony.
Szunaj85
post
Post #1





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

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


Próbuję napisać warunek if, który sprawdzałby czy przynajmniej jeden z poniższych checkbox-ów został zaznaczony. Gdyby chodziło o jeden checkbox, nie byłoby problemu, ale przy czterech nie wiem jak to zrobić.

  1. <td width="20px"><input type="checkbox" name="1" value="samochód 1" /></td>
  2. <td width="20px"><input type="checkbox" name="2" value="samochód 2" /></td>
  3. <td width="20px"><input type="checkbox" name="3" value="samochód 3" /></td>
  4. <td width="20px"><input type="checkbox" name="4" value="samochód 4" /></td>


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
GoOx
post
Post #2





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

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


to jest bardzo proste ;p

oto kod:

  1. $nr1 = $_POST['1'];
  2. $nr2 = $_POST['2'];
  3. $nr3 = $_POST['3'];
  4. $nr4 = $_POST['4'];
  5. $i = 0;
  6. if(isset($nr1)) {
  7. $i++;
  8. }
  9. if(isset($nr2)) {
  10. $i++;
  11. }
  12. if(isset($nr3)) {
  13. $i++;
  14. }
  15. if(isset($nr4)) {
  16. $i++;
  17. }
  18. if($i >= 1) {
  19. echo "Zaznaczyłeś co najmniej 1 checkbox";
  20. }


Ten post edytował GoOx 20.04.2012, 18:01:12
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


  1. <input type="checkbox" name="samochod[1]" value="samochód 1" />
  2. <input type="checkbox" name="samochod[2]" value="samochód 2" />
  3. <input type="checkbox" name="samochod[3]" value="samochód 3" />
  4. <input type="checkbox" name="samochod[4]" value="samochód 4" />


Sprawdź sobie tablicę $_POST po przesłaniu formularza z zaznaczonymi checkboxami i bez zaznaczonych


--------------------
Go to the top of the page
+Quote Post
Szunaj85
post
Post #4





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

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


Cytat
to jest bardzo proste ;p
Faktycznie o takim rozwiązaniu nie pomyślałem. Co prawda lekko zmodyfikowałem kod, ale działa. Zastanawiam się tylko, czy nie da się go uprościć. blink.gif


--------------------
Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
Go to the top of the page
+Quote Post
GoOx
post
Post #5





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

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


można skorzystać z pętli for i zamiast przepisywać tego po 4 razy to 1 raz + pętla.
  1. for($i = 1; $i <= 4; $i++) {
  2. $nr[$i] = $_POST[$i];
  3. }
  4. $i2 = 0;
  5. for($i = 1; $i <= 4; $i++) {
  6. if(isset($nr[$i])) {
  7. $i2++;
  8. }
  9.  
  10. if($i >= 1) {
  11. echo "Zaznaczyłeś co najmniej 1 checkbox";
  12. }


nie wiem czy to działa. nie sprawdzałem.
Go to the top of the page
+Quote Post
Lorum3
post
Post #6





Grupa: Zarejestrowani
Postów: 86
Pomógł: 5
Dołączył: 10.12.2011
Skąd: Poznań

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


Wszystkie pola dotyczące tego samego pytania, powinny nosić taki znam znacznik name.

Wtedy wystarczy po prostu sprawdzić czy wysłano takowe pole.

  1.  
  2. if( isset( $_POST['name'])){
  3.  
  4. // ...
  5.  
  6. }
  7.  
Go to the top of the page
+Quote Post

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 - 09:17