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 (1 - 5)
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
shaolin33
post 30.10.2012, 15:31:43
Post #3





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

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


Cytat(b4rt3kk @ 30.10.2012, 14:20:40 ) *
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.



ta tablice mam utworzyć w osobnym pliku questionmark.gif?

czy w sql ?


Go to the top of the page
+Quote Post
b4rt3kk
post 30.10.2012, 15:36:12
Post #4





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

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


Tablica ma być i w formularzu i w pliku, do którego formularz odsyła. Tylko, że formularz musi mieć rozszerzenie .php. Plik formularz.php:

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


Plik test.php:

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


To już Twój wybór czy tablica będzie pobierana z bazy danych czy na stałe wpisana w kod.

Ten post edytował b4rt3kk 30.10.2012, 15:36:57


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
shaolin33
post 30.10.2012, 16:30:17
Post #5





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

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


Cytat(b4rt3kk @ 30.10.2012, 15:36:12 ) *
Tablica ma być i w formularzu i w pliku, do którego formularz odsyła. Tylko, że formularz musi mieć rozszerzenie .php. Plik formularz.php:

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


Plik test.php:

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


To już Twój wybór czy tablica będzie pobierana z bazy danych czy na stałe wpisana w kod.



ok, zapisałem zamiast test.html formularz_test.php

ale dziwnie bo w treści nie zamyka się ten kod php tabeli

od tego momentu tak jak by bylo zle cos:




php?>

<br>
Wysyłać<form action="...">
<input type="radio" name="radio" value="na adres e-mail" />na adres e-mail
<input type="radio" name="radio" value="na adres korespondencyjny" />na adres korespondencyjny
<input type="radio" name="radio" value="do odbioru" />do odbioru
</form>


<br>
<input type="submit" value="Zapisz" />
</form>
<br>
<br>


</body>



i jak daje w formualrzu zapisz to wyskakuje eror:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in /home/shaolin33/domains/shaolin33.mypage.pl/public_html/formularz_test.php on line 28
Go to the top of the page
+Quote Post
b4rt3kk
post 30.10.2012, 16:34:21
Post #6





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

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


Bo to nie jest zamknięcie php:

  1. php?>


tylko to:

  1. ?>


i tutaj zapomniałem o apostrofie:

  1. echo '</select>';


ale takie niuanse to przecież sam mógłbyś wyłapać.

Ten post edytował b4rt3kk 30.10.2012, 16:36:03


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:41