Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] problem z formularzem, a dokładniej z polem checkbox
sytluk
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 3
Dołączył: 1.08.2006

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


Witam, posiadam taki formularz z polami cheatbox:

  1. <form action="wyslij.php" method="POST">
  2. <input type="checkbox" name="vista" value="Vista">Windows Vista<br>
  3. <input type="checkbox" name="xp" value="XP">Windows XP<br>
  4. <input type="checkbox" name="98" value="98">Windows 98/95<br>
  5. <input type="checkbox" name="linux" value="Linux">Linux/Unix<br>
  6. <input type="checkbox" name="mac_os" value="Mac OS">Mac OS
  7. </form>


Problem polega na tym, że chcę "odczytać" to co zostało zaznaczone i wstawić do bazy danych. Tworzę więc instrukcje if dla każdego pola oddzielnie i pętlę:
  1. <?php
  2. $system = array();
  3. if (isset($_REQUEST['vista'])) $system[] = "Windows Vista";
  4. if (isset($_REQUEST['xp'])) $system[] = "Windows XP";
  5. if (isset($_REQUEST['98'])) $system[] = "Windows 98";
  6. if (isset($_REQUEST['linux'])) $system[] = "Linux";
  7. if (isset($_REQUEST['mac_os'])) $system[] = "Mac OS";
  8.  
  9. foreach($system as $value) 
  10. {
  11. $wartosc = array($value);
  12. }
  13. echo($wartosc);
  14. ?>


Problem polega na tym, że nie wiem jak poza pętlą wyświetlić wszystkie zaznaczone wartości pól. Jest to niezbędne do dodania tych wartości do bazy danych w postaci zmiennej. Polecenie dodające wartości do bazy danych nie może być umieszczone w pętli, bo zostaną one dodane tyle razy ile pól zostało zaznaczonych.
Nie wiem czy te tablice zostały dobrze zrobione.
Może jest na to jakiś inny sposób? Ważne zeby działało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Proszę o pomoc

Ten post edytował sytluk 3.12.2007, 11:28:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. <?php
  2. if (isset($_POST['os'])) {
  3. $system = array(
  4. 'vista' => 'nie',
  5. 'xp' => 'nie',
  6. '98' => 'nie',
  7. 'linux' => 'nie',
  8. 'mac'  => 'nie'
  9. );
  10. foreach ($_POST['os'] as $key => $value)
  11. {
  12. $system[$value] = 'tak';
  13. }
  14. echo '<pre>';
  15. print_r($system);
  16. echo '</pre>';
  17. } else {
  18. ?>
  19. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  20. <input type="checkbox" name="os[]" value="vista" />Windows Vista<br />
  21. <input type="checkbox" name="os[]" value="xp">Windows XP<br />
  22. <input type="checkbox" name="os[]" value="98">Windows 98/95<br />
  23. <input type="checkbox" name="os[]" value="linux">Linux/Unix<br />
  24. <input type="checkbox" name="os[]" value="mac">Mac OS<br />
  25. <input type="submit" />
  26. </form>
  27. <?php
  28. }
  29. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 13:25