Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] odwołanie do wartości zmiennych z pola SELECT
Forum PHP.pl > Forum > Przedszkole
moraw2008
Witam,

Proszę Was o pomoc, dziś pól dnia spędziłem nad szukaniem rozwiązania problemu, którego wytłumaczenie Wam pewnie zajmie sekundkę.

na podstronie index.php ma htmlowski formularz:

  1.  
  2. <form action=" " method="post">
  3.  
  4. <table>
  5. <tr>
  6. <td valign="top">
  7. Rodzaj wydarzenia:
  8. </td>
  9.  
  10. <td valign="top">
  11.  
  12. <select name="status" size="3" >
  13. <option value="wazne">WAZNE</option>
  14. <option value="mniej_wazne">MNIEJ WAZNE</option>
  15. <option value="niewazne">NIEWAZNE</option>
  16. </select>
  17.  
  18. </td>
  19. </tr>
  20.  
  21. <tr>
  22. <td valign="top">
  23. Dzien:
  24. </td>
  25.  
  26. <td valign="top">
  27.  
  28. <select name="dzien" size="2" >
  29. <option value="pon">PONIEDZIALEK</option>
  30. <option value="wt">WTOREK</option>
  31.  
  32.  
  33. </td>
  34. <tr>
  35. <td colspan="2">
  36.  
  37. <input type="submit" name="Submit" value="Wyslij">
  38.  
  39. </td>
  40. </tr>
  41. </table>
  42.  
  43. </form>
  44.  
  45.  


Po wciśnięciu submita chciałbym zrobić sprawdzenie co zostało wybrane, próbowłem przez if, przez case, odwoływać się do select name i wyłuskać jego wartość, bez efektu.
Jak to powinno się zrobić, nigdy nie używałem pola SELECT w formularzach..

Druga sprawa to:
Chciałem przed formularzem sprawdzić stan submita, w ten sposób:

  1. <?php
  2.  
  3. if (empty($_POST['submit'])) {
  4.  
  5. echo "<table border=\"0\"><form method=\"post\">
  6. <tr>
  7.  
  8. /////////////CAŁY FORMULARZ////////////////
  9.  
  10. </table>";
  11. }
  12. ?>


zawsze tak robiłem, działało - jednak kiedy w formularzu są pola SELECT wywala mi jakieś głupie błędy składniowe.. o co chodzi?

Z GÓRY BARDZO DZIĘKUJĘ ZA POMOC I WYTŁUMACZENIE.
POZDRAWIAM
tehaha
jakie błędy i co dokładnie nie działa, tak na marginesie drugi select nie ma tagu zamykającego </select>
moraw2008
ok, dzięki. ten tag mi umknął przy wklejaniu.

Nie działa odwołanie się do SELECTÓW próbowałem na wszystkie sposoby napisać kawałek sprawdzający jaką wartość ma np wartość SELECTA "status"..

kacper.chrapa
Witam,

1. Jesli nadal masz bledy skladni: Generujesz forma poprzez echo - i dajesz go jako string w cudzyslowach. Jesli kod formularza ktory przeslales jest DOKLADNIE taki, jaki masz wpisany wewnatrz tych cudzyslowow , to problemem sa cudzyslowy w tym kodzie(np. przy <select name="status"> ), bo one rozbijaja ci ten zewnetrzny string na kawalki - i dlatego interpreterphp sie czepia. Innego sensowniejszego wytlumaczenia nie widac - ew. wklej caly kod programu (bez ucinania forma),to moze cos wyjdzie. Ale w stringu <select> niczym sie nie rozni dla PHP'a od "<krzeselko><nozka></nozka></krzeselko>" ;-) , wiec to nie select jako taki wywoluje bledy skladniowe.


2.Atrybut name pola submit masz nazwany z wielkiej litery(Submit), a w empty piszesz z malej - php rozroznia wielkosc
liter na tym poziomie, wiec kod ci w ten sposob nie zadziala.Zawsze ci bedzie pokazywac formularz,zamiast odpalac
kod else .

3. zeby odebrac wartosc z selecta wystarczy:

echo $_POST['status'];


pozdrowka,
kacper
moraw2008
wielkie dzięki kolego, właśnie nie wiedziałem nigdy dlaczego czasem są te ukośniki... już wiem, to pewnie o to chodzi.

Jestem wdzięczny za pomoc, ze zmiennymi zaraz zobaczę czy pójdzie:)

Pozdrawiam!
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.