Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Checkbox [PHP], Checkbox
-Agneska-
post
Post #1





Goście







  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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.
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: 22.08.2025 - 20:32