Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Checkbox [PHP]
Forum PHP.pl > Forum > Przedszkole
Agneska
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="Author" content="dane autora" />
  6. <title>Języki - formularz</title>
  7. </head>
  8. <body>
  9. <form method="post" action="jezyki_ob1.php">
  10. <p>Czy znasz język:<br />
  11. <input type="hidden" name="jezyk[polski]" value="0" /> <br />
  12. <input type="checkbox" name="jezyk[polski]" value="1" checked="checked " /> polski<br />
  13. <input type="hidden" name="jezyk[czeski]" value="0" /> <br />
  14. <input type="checkbox" name="jezyk[czeski]" value="1" /> czeski<br />
  15. <input type="hidden" name="jezyk[niemiecki]" value="0" /> <br />
  16. <input type="checkbox" name="jezyk[niemiecki]" value="1" /> niemiecki<br />
  17. <input type="hidden" name="jezyk[angielski]" value="0" /> <br />
  18. <input type="checkbox" name="jezyk[angielski]" value="1" /> angielski</p>
  19. <p><input type="submit" value="Wyślij dane" /></p>
  20. </form>
  21. </body>
  22. </html>
  23.  
  24.  

obsługa formularza
  1. !DOCTYPE html>
  2. <meta charset="UTF-8" />
  3. <meta name="Author" content="dane autora" />
  4. <title>Języki - obsługa formularza</title>
  5. </head>
  6. <?php
  7.  
  8. if (isset($_POST["jezyk"])) {
  9. $jezyk=$_POST["jezyk"];
  10. if (!empty($_POST["jezyk"]))
  11.  
  12. {echo ("<p>Znasz języki:</p>");
  13.  
  14. echo ('<ul>');
  15.  
  16. foreach ($jezyk as $k=>$w) {
  17. if ($w==1) echo ("<li>$k</li>");
  18.  
  19.  
  20. }
  21.  
  22. echo ('</ul>');}
  23. else
  24. echo ('<p>Nie znasz języków</p>');
  25.  
  26. echo ('<p>Nie znasz języków</p>');
  27. echo ('<ul>');
  28. foreach ($jezyk as $k=>$w){
  29. if ($w==0) echo ("<li>$k</li>");}
  30. echo('</ul>');
  31. }
  32. ?>
  33. </body>
  34. </html>

Nie mam pojęcia jak zrobić żeby wyświetlić napis jak zaznaczono wszystkie, albo jak nie wybrano żadnego pola. Bardzo bardzo proszę o pomoc.
nospor
Po co tworzysz do kazdego checkoxa jeszcze hidden o dokladnie tej samej nazwie? Domyslam sie, ze w ten sposob chcesz wychwycic niezaznaczone checkbox. No to troche nie tedy droga.

Checkbox mają tak wygladac:
input type="checkbox" name="jezyk[]" value="czeski" /> czeski<br />
input type="checkbox" name="jezyk[]" value="niemiecki" /> czeski<br />
.... itd........
hiddeny masz wywalic.

A potem w php
  1. if (empty($_POST['jezyk'])) echo 'Nie wybrales zadnego jezyka';
  2. else {
  3. echo ("<p>Znasz języki:</p>");
  4. echo ('<ul>');
  5. foreach ($_POST['jezyk'] $w) {
  6. echo ("<li>$w</li>");
  7. }
  8. echo ('</ul>');
  9. }

Zas sprawdzenie czy wybral wszystko to sprawdzasz czy pojawil sie w tablicy kazdy z jezykow. Jakie jezyki są dostepne to przeciez wiesz.
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.