Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z przekazywaniem wartosci
Forum PHP.pl > Forum > PHP
alex19
Witam, mam taki kod:
  1. <form action="index.php?page=save_klienta" method="post">
  2. <table width="200" border="0" align="center" style="border: 1px solid #333333;" >
  3. <tr>
  4. <td colspan="2" class="naglowek_tab">Dodaj klienta...</td>
  5. </tr>
  6. <tr>
  7. <td><b>Imię:</b></td>
  8. <td><input type="text" name="imie"></td>
  9. </tr>
  10. <tr>
  11. <td><b>Nazwisko:</b></td>
  12. <td><input type="text" name="nazwisko"></td>
  13. </tr>
  14. <tr>
  15. <td><b>Ulica:</b></td>
  16. <td><input type="text" name="ulica"></td>
  17. </tr>
  18. <tr>
  19. <td><b>Miejscowość:</b></td>
  20. <td><input type="text" name="miejscowosc"></td>
  21. </tr>
  22. <tr>
  23. <td><b>Województwo:</b></td>
  24. <td><select name="wojewodztwo">
  25. <?php 
  26.  $zapytanie=mysql_query("select * from wojewodztwa order by wojewodztwo");
  27.  while($dane=mysql_fetch_assoc($zapytanie))
  28. {
  29.  echo '<option name="wojewodztwo" value="'.$dane['idwojewodztwa'].'">'.$dane['wojewodztwo'].'</option>';
  30. } 
  31. ?>
  32. </select>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td colspan="2" style="text-align:right; "><input type="submit" value="Dodaj" ></td>
  37. </tr>
  38. </table>
  39. </form>

Wszystko pieknie dzialalo, ale postanowiem dorobic rozwijane pole z ojewodztwami(nazwy sa w innej tabeli). Wojewodztwa sie odczytuja, ale niestety po wybraniu interesujacego nas i wyslaniu formularza nie przekazuje sie idwojewodztwa sad.gif
Co jest nie tak?questionmark.gif
czachor
Pokaż jak odczytujesz. $_POST['wojewodztwo']?
nospor
a jak ty odbierasz te województwo?
pozatym dla option nie wolno juz nadawać name
alex19
Odczytuje, a wlasciwie zapisuje do bazy w taki oto sposob:
  1. <?php
  2.  
  3. //tymczasowy odczyt sprawdzajacy czy dzila :)
  4. echo $_POST['imie'].'<br>';
  5. echo $_POST['nazwisko'].'<br>';
  6. echo $_POST['ulica'].'<br>';
  7. echo $_POST['adres'].'<br>';
  8. echo $_POST['idwojewodztwa'].'<br>';
  9.  
  10. //zapis do bazy
  11.  
  12. if(mysql_query("insert into klienci set  imie='$_POST[imie]',
  13. nazwisko='$_POST[nazwisko]',
  14. ulica='$_POST[ulica]',
  15. miejscowosc='$_POST[miejscowosc]',
  16. idwojewodztwa='$_POST[idwojewodztwa]'"))
  17. {
  18. echo '<div class="info">Zapisano do bazy!</div>';
  19. include 'wyswietl.php';
  20. }
  21. else
  22. {
  23. echo '<div class="blad">Bledne zapytanie!!!</div>';
  24. }
  25.  
  26. ?>
phobos
nie czytasz $_POST['idwojewodztwa'] ale $_POST['wojewodztwo'] bo tak nazwales pole select , wymaz to name z option tak jak pisal nospor bo to blad jest
a tak btw to jak chcesz odczytywac tablice szybciej to uzywaj
  1. <?php
  2.  
  3. print_r($_POST);
  4.  
  5. ?>
alex19
Name juz usunalem.
Widze ze dziala tak jak napisales, ale czy mozesz mi powiedzec dlaczego tak jest?
Na logike mialem dobrze pokazywalem nazwe, a przkazywalem jej wartosc czyli klucz tabeli wojewodztwa.
bim2
kurshtml.boo.pl poczytaj o form, w select przekazuje sie value option biggrin.gif wiec nazwe select musisz odczytywac
phobos
hmm.. to jest tak ze pole <select> ma miec nazwe a "pola" <option> to tylko sa "pola" za pomoca ktorych wybierasz wartosc dla pola select tak wiec jak juz wybierzesz jakas opcje to wartosc pola <option> jest wartoscia pola <select> (ktore ma jakas nazwe "name"), formularz nie przekazuje wartosci pól option bo ich moze byc bardzo duzo , tylko wartosc pola wybranego ,zaznaczonego(select)

w skrocie "pola" <option> to tylko pomoc do wyboru wartosci dla pola <select>

moze zrozumiesz o co mi chodzi:)
alex19
Ok. Juz rozumiem smile.gif Czyli jak np bym chcial przekazywac nazwe wojewodztwa, a nie id to wystarczy usunac value lub wstawic w jego miejsce zamiast id to nazwe.

Dzieki za pomoc!
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.