Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] ankieta - kolejny problem z wyswietlaniem
shaolin33
post 30.10.2012, 13:16:38
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 5.10.2012

Ostrzeżenie: (10%)
X----


witam ponownie,

niestety nie moge sobie poradzić z jednym przypadkiem:

test.html - formualrz


  1. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  2. <meta http-equiv="Content-Language" content="pl" />
  3. <link rel="stylesheet" href="style.css" type="text/css" />
  4. <title>UMOWY</title>
  5. </head>
  6. <form action="test.php" method="post">
  7.  
  8. <div id="srodek">
  9.  
  10. <dd>
  11. <dl>
  12. <h2>DANE KLIENTA</h2>
  13.  
  14. <b>osoba:</b>
  15. <br>
  16. 1.<select id="1osoba" name="1osoba" >
  17. <option>Jan</option>
  18. <option>Tadek</option>
  19. <option>Romek</option>
  20. (...)
  21. </select>
  22.  
  23. <br>
  24. Wysyłać<form action="...">
  25. <input type="radio" name="radio" value="na adres e-mail" />na adres e-mail
  26. <input type="radio" name="radio" value="na adres korespondencyjny" />na adres korespondencyjny
  27. <input type="radio" name="radio" value="do odbioru" />do odbioru
  28. </form>
  29.  
  30.  
  31. <br>
  32. <input type="submit" value="Zapisz" />
  33. </form>
  34. <br>
  35. <br>
  36.  
  37.  
  38. </body>



test.php




  1. $nie='[ ]' //niezaznaczone
  2. $tak='[X]' //zaznaczone
  3.  
  4.  
  5. osoba: echo $_POST ['1osoba'];



stworzyłem dwie zmienne


$tak
$nie

chce aby wyswietlanie wyniku nei byla jedna osoba ale np.:

zaznaczam w formualrzu: TADEK


postać wyświetlania wyniku ma postać:

[ ] Jan [X] Tadek [ ] Romek



temat wałkuje już od pewnego czasu ale mam za mało wiedzy żeby to samemu napisać, może ktoś mógłby mi pomoc i podać przykład ?

Ten post edytował shaolin33 30.10.2012, 13:33:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b4rt3kk
post 30.10.2012, 14:20:40
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Po pierwsze, w option brakuje value:

  1. <select id="1osoba" name="1osoba" >
  2. <option value="jan">Jan</option>
  3. <option value="tadek">Tadek</option>
  4. <option value="romek">Romek</option>
  5. (...)
  6. </select>


Po drugie, pole typu select nie wysyła wszystkich wartości, a tylko te JEDNĄ wybraną przez użytkownika. Także, jeśli chcesz mieć całą listę imion, to albo wczytuj to z bazy, albo z jakiejś tablicy. Np.

  1. $imiona = array('Jan', 'Tadek', 'Romek');
  2.  
  3. // wyświetlanie pola typu select
  4.  
  5. echo '<select name="1osoba">';
  6. foreach ($imiona as $value) echo '<option value="'.$value.'">'.$value.'</option>';
  7. echo '</select>;


Teraz by osiągnąć to o czym pisałeś w pliku test.php:

  1. // tablica z poprzedniego formularza musi zostać również tutaj zadeklarowana lub przesłana w inny sposób np. w sesji.
  2. $imiona = array('Jan', 'Tadek', 'Romek');
  3.  
  4. // odczyt wyników
  5. foreach ($imiona as $value) {
  6. if ($_POST['1osoba'] == $value) echo '[X]'; else echo '[ ]';
  7. echo ' '.$value.'<br/>';
  8. }


i to w zasadzie cała filozofia.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 18:38