Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: input type = "RADIO"
Forum PHP.pl > Forum > Przedszkole
czezz
Chcę zrobić ankietę. Możliwość wyboru tylko 1 z pytań. Plik html wygląda tak:


  1. <TABLE align="left"><TR><TD>
  2. <TABLE><TR> <TD bgcolor= "fffeee" width="205" bordercolor="fffeee"><B> wpisz dane </B></TD>
  3. <FORM ACTION="secx/go.php" METHOD="post">
  4. <TABLE border="2" bgcolor="#fffeee" bordercolor="000000">
  5.  
  6. <td>
  7. <input type="RADIO" name="answer[]" value="1">x<br>
  8.  
  9. <input type="RADIO" name="answer[]" value="2">y<br>
  10.  
  11. <input type="RADIO" name="answer[]" value="3">z
  12.  
  13. </TR>
  14. <TR><TD>
  15. <input type="hidden" name="nazwa_dok" value="lista">
  16. <INPUT TYPE="SUBMIT" width=96 VALUE="Wyslij"> </td></tr>
  17. </TR>
  18. </form>


kierowany jest on do pliku php, który wygląda tak:

  1. <?php
  2. //lacze sie z baza
  3. $pol = mysql_connect('localhost', 'root','666') or die(&#092;"serwerek dead\");
  4.  mysql_select_db(&#092;"sec\") or die(\"Nie mozna sie polaczyc z baza!\");
  5.  
  6. //polecenie insert do dodania nowych rekordow do bazy
  7. $pyt = mysql_query(&#092;"INSERT INTO test2 ( pole_odpowiedzi)
  8. VALUES 
  9.  ('\".$_POST['!!! CO POWINNO BYC W TYM MIEJSCU']\"' );
  10.  &#092;");
  11.  
  12.  
  13.  
  14. if ($pyt) echo &#092;"dopisałem rekord\";
  15. ?>


moje pytanie jest co powinno być w $_POST[ questionmark.gif? ]
mike
Użyj takiego skryptu to zobaczysz co dostajesz w tablicy POST po wysłaniu formularza.
  1. <?php
  2.  
  3. echo '<pre>';
  4. print_r( $_POST );
  5. echo '</pre>';
  6.  
  7. ?>

Do wszystkiego lepiej dojść samemu. winksmiley.jpg
kszychu
Jesli to jest radio, to nie musisz nazywac ich answer[], wystarczy answer. I tak tylko jedna wartosc idzie do skryptu, więc nie jest tu potrzebna tablica. Wtedy też odwołujesz się do tego: $_POST['answer'].

Jeśli jednak chcesz mieć to jako tablicę, to musisz odwołać się do jej pierwszego (i zarazem jedynego) elementu, czyli: $_POST['answer'][0].
czezz
mike_mech:

  1. <?php
  2.  
  3. echo '<pre>';
  4. print_r( $_POST );
  5. echo '</pre>';
  6.  
  7. ?>


pokazuje wartość, którą wybralem... ale wartość nie jest zpisywana do bazy

krzychu:
nie pomogło sad.gif
mike
Cytat(czezz @ 2004-06-23 16:54:44)
mike_mech:

  1. <?php
  2.  
  3. echo '<pre>';
  4. print_r( $_POST );
  5. echo '</pre>';
  6.  
  7. ?>


pokazuje wartość, którą wybralem... ale wartość nie jest zpisywana do bazy

Wiem, że nie jest zapisywana do bazy. Chciałem w ten sposób pokazać ci tylko jak samemu się domyślić co trzeba wstawić w miejsce które cie interesuje.
P.S. Sprawdź jeszcze raz sposób kszycha, musi działać, może gdzieś się pomyliłeś.
czezz
Pozwólcie, że się pochwalę jak udało mi sie rozwiązać problem:

index.html
  1. <TABLE align="left"><TR><TD>
  2. <TABLE><TR> <TD bgcolor= "fffeee" width="205" bordercolor="fffeee"><B> wpisz dane </B></TD>
  3. <FORM ACTION="secx/go.php" METHOD="post">
  4. <TABLE border="2" bgcolor="#fffeee" bordercolor="000000">
  5.  
  6. <td>
  7. <input type="RADIO" name="a" value="1">x<br>
  8.  
  9. <input type="RADIO" name="a" value="2">y<br>
  10.  
  11. <input type="RADIO" name="a" value="3">z
  12.  
  13. </TR>
  14. <TR><TD>
  15. <input type="hidden" name="nazwa_dok" value="lista">
  16. <INPUT TYPE="SUBMIT" width=96 VALUE="Wyslij"> </td></tr>
  17. </TR>
  18. </form>
  19.  
  20.  
  21. i plik go.php


  1. <?php
  2. {
  3.  if($_POST['a'] == 1)
  4.  {
  5. $radio = 1;
  6.  }
  7.  
  8.  if($_POST['a'] == 2)
  9.  {
  10. $radio = 2;
  11.  }
  12.  
  13.  if($_POST['a'] == 3)
  14.  {
  15. $radio = 3;
  16.  }
  17. }
  18.  
  19. //lacze sie z baza
  20. $pol = mysql_connect('localhost', 'root','666') or die(&#092;"serwerek dead\");
  21.  mysql_select_db(&#092;"sec\") or die(\"Nie mozna sie polaczyc z baza!\");
  22.  
  23. //polecenie insert do dodania nowych rekordow do bazy
  24. $pyt = mysql_query(&#092;"INSERT INTO test2 ( pole_odpowiedzi)
  25. VALUES 
  26.  ('\".$radio.\"' );
  27.  &#092;");
  28.  
  29.  
  30. if ($pyt) echo &#092;"dopisałem rekord\";
  31. ?>


...mam nadzieję, że komuś się to przyda - jakiemus początkującemu jak ja aarambo.gif
kszychu
No i brawo Jasiu! smile.gif Tak na marginesie, to jest właśnie sposób, o którym pisałem Ci w pierwszej części mego postu.
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.