Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wartości z listy rozwijanej
Forum PHP.pl > Forum > Przedszkole
kasjus
Mam pytanko - na stronie a.php jest sobie lista rozwijana wypełniana danymi z bazy mysql. Jak na stronie b.php dobrać się do wartości wybranej na stronie a.php z owej listy rozwijanej
nospor
To nie poziom PHP5 a poziom Początkujący. Przenosze.

Musisz tą listę miec w formularzu. Jesli formualrz wysylasz metodą post to dobierasz sie do tego pola:
  1. <?php
  2.  
  3. echo $_POST['nazwalisty'];
  4.  
  5. ?>
kasjus
Niestety nie działa w taki sposób sad.gif
nospor
Cytat
Niestety nie działa w taki sposób
wow, strasznie wyczerpujaca wypowiedź.
Powinno dzialac. jesli nie dziala to coś źle masz napisane.
Pokaz ten formularz i jak to odbierasz no i podaj ewentualne komunikaty o błedzie jesli masz jakies
snipe
plik a.html

  1. <form method="post" action="b.php">
  2. <SELECT name="lista">
  3. <OPTION>element 1</OPTION>
  4. <OPTION>element 2</OPTION>
  5. </SELECT>
  6. <input type="submit" value="Sprawdz">
  7. </form>


b.php

  1. <?php
  2. echo $_POST['lista'];
  3. ?>
NuLL
  1. //..
  2. <option value='costam'>jakasOpcja</option>
  3. //..
kasjus
Juz poszło. Teraz problem jest innego typu. Chodzi o sesje i cookies.
Ponieważ strony mają przekierowania w pewnych momentach dane muszą być wysyłane do większej ilości stron. Argument action pozwala wysyłać tylko do jednej konkretnej. Podpowiedziano mi że powinienem użyć cookies.

Kod wygląda następująco:

strona wydzial_kierunek.php

  1. <html>
  2. <meta name="Language" content="pl">
  3. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
  4. <?include("1_index.php"); 
  5. ?>
  6. <form action="kierunek.php" method=post>
  7. <table border=0>
  8. <tr bgcolor=#cccccc>
  9. <td>
  10. <SELECT NAME = "wpr" OnChange="this.form.submit();">
  11. <OPTION>- - - - Wydział - - - -</OPTION>
  12. <OPTION value="nowy">Nowy</OPTION>
  13. <? 
  14. $moja_baza = new mysqli('localhost','root','misty25');
  15. $moja_baza->select_db('wps');
  16. $wynik = $moja_baza->query("SELECT DISTINCT wydzial FROM wydzial_kierunek");
  17. while($wiersz = $wynik->fetch_assoc()) 
  18. {
  19.  
  20. echo '<option value= "'.$wiersz['wydzial'].'" >'.
  21. $wiersz['wydzial']
  22. .' </option>';
  23.  
  24. }
  25. $wynik->close();
  26. ?>
  27. </SELECT>
  28. </td>
  29. </tr>
  30. </table>
  31. </form>
  32. </html>


strona kierunek.php
  1. <?
  2. if ($_POST['wpr'] == 'nowy') 
  3.  {
  4. SetCookie("wpr_wydzial",$_POST['wpr'],time()+10); 
  5. header("Location: new_kierunek.php");
  6.  }
  7. ?>
  8.  
  9. <html>
  10. <meta name="Language" content="pl">
  11. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
  12. <?
  13. include("1_index.php");
  14. echo "Wydział: <b>".$_POST['wpr']."</b>";
  15. ?>
  16. <form action="specjalnosc.php" method=post>
  17. <table>
  18. <tr bgcolor=#cccccc>
  19. <td>
  20. <SELECT NAME = "wpr_4" OnChange="this.form.submit();">
  21. <OPTION>- - - - Kierunek - - - -</OPTION>
  22. <OPTION value="nowy">Nowy</OPTION>
  23. <?
  24. $moja_baza = new mysqli('localhost','root','misty25');
  25. $moja_baza->select_db('wps');
  26. $wynik = $moja_baza->query("SELECT DISTINCT kierunek FROM wydzial_kierunek where
  27. wydzial_kierunek.wydzial='".$_POST['wpr']."' ");
  28.  
  29. while($wiersz = $wynik->fetch_assoc()) 
  30. {
  31. echo '<option value= "'.$wiersz['kierunek'].'" >'.
  32. $wiersz['kierunek']
  33. .' </option>';
  34. }
  35. $wynik->close(); 
  36. ?>
  37. </SELECT>
  38. </td>
  39. </tr>
  40. </table>
  41. </form>
  42. </html>

strona new_kierunek.php

  1. <html>
  2. <meta name="Language" content="pl">
  3. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
  4. <?
  5. include("kierunek.php");
  6. echo "początek <br>";
  7. echo "Podano wydział: " .$wpr_wydzial;
  8. echo "<br>";
  9. echo "koniec <br>";
  10. ?>
  11. <FORM action="re_new_wydzial.php" method=post>
  12. <table border=0>
  13. <td align="right">Kierunek: </td>
  14. <td align="left"><input type="text" name="kierunek" size="30" maxlength="65"></td>
  15. </tr>
  16. <tr>
  17. <td align="right">Specjalność: </td>
  18. <td align="left"><input type="text" name="specjalnosc" size="30" maxlength="65"></td>
  19. </tr>
  20. <tr>
  21. <td align="right">Rodzaj studiów: </td>
  22. <td align="left"> 
  23. <SELECT NAME = "wpr_1">
  24. <OPTION>- Rodzaj studiów -</OPTION>
  25. <OPTION value="inz">Inżynierskie</OPTION>
  26. <OPTION value="lic">Licencjackie</OPTION>
  27. <OPTION value="doc">Doktoranckie</OPTION>
  28. <OPTION value="pdypl">Podyplomowe</OPTION>
  29. <OPTION value="mgr_uzup">Magisterskie uzup.</OPTION>
  30. <OPTION value="mgr">Magisterskie</OPTION>
  31. </SELECT>
  32. </td>
  33. </tr>
  34. <tr>
  35. <td align="right">Tryb studiów: </td>
  36. <td align="left">
  37. <SELECT NAME = "wpr_2">
  38. <OPTION>- Tryb studiów -</OPTION>
  39. <OPTION value="w">Wieczorowe</OPTION>
  40. <OPTION value="d">Dzienne</OPTION>
  41. <OPTION value="z">Zaoczne</OPTION>
  42. <OPTION value="e">Eksternistyczne</OPTION>
  43. </SELECT>
  44. </td>
  45. </tr>
  46. <tr>
  47. <td align="right">Ilość semestrów: </td>
  48. <td align="left">
  49. <SELECT NAME = "wpr_3">
  50. <OPTION>- Ilość -</OPTION>
  51. <OPTION value="2">2</OPTION>
  52. <OPTION value="3">3</OPTION>
  53. <OPTION value="4">4</OPTION>
  54. <OPTION value="5">5</OPTION>
  55. <OPTION value="6">6</OPTION>
  56. <OPTION value="7">7</OPTION>
  57. <OPTION value="8">8</OPTION>
  58. <OPTION value="9">9</OPTION>
  59. <OPTION value="10">10</OPTION>
  60. <OPTION value="11">11</OPTION>
  61. <OPTION value="12">12</OPTION>
  62. </SELECT>
  63. </td>
  64. </tr>
  65. <tr>
  66. <td colspan="2" align="right"><input type="submit" value="Dalej"></td>
  67. <td colspan="2" align="left"><input type="reset" value="Wyczyść"></td>
  68. </tr>
  69. </table>
  70. </FORM>
  71. </html>


specjalność.php
  1. <?
  2. if ($_POST['wpr_4'] == 'nowy') {
  3. header("Location: new_kierunek.php");
  4. }
  5. ?>
  6. <html>
  7. <meta name="Language" content="pl">
  8. <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
  9. <?
  10. include("1_index.php");
  11. echo "Kierunek: <b>".$_POST['wpr_4']."</b>";
  12. echo "<br>";
  13. ?>
  14. <form action="specjalnosc.php" method=post>
  15. <table>
  16. <tr bgcolor=#cccccc>
  17. <td>
  18. <SELECT NAME = "wpr_5" OnChange="this.form.submit();">
  19. <OPTION>- - - - Specjalność - - - -</OPTION>
  20. <OPTION value="nowy">Nowa</OPTION>
  21. <?
  22. $moja_baza = new mysqli('localhost','root','misty25');
  23. $moja_baza->select_db('wps');
  24. $wynik = $moja_baza->query("SELECT DISTINCT specjalnosc FROM wydzial_kierunek where
  25. wydzial_kierunek.wydzial='".$_POST['wpr_4']."' ");
  26.  
  27. while($wiersz = $wynik->fetch_assoc()) 
  28. {
  29. echo '<option value= "'.$wiersz['kierunek'].'" >'.
  30. $wiersz['kierunek']
  31. .' </option>';
  32. }
  33. $wynik->close(); 
  34. ?>
  35. </SELECT>
  36. </td>
  37. </tr>
  38. </table>
  39. </form>
  40. </html>


Prześledźmy następujący ciąg zdarzeń:
Wybieram na stronie wydzial_kierunek.php opcję np Mechaniczny (opcja pobrana z bazy). Przechodzę do strony kierunek.php i tutaj wybieram nowy kierunek.
Narazie zrobione jest tak że po wybraniu na stronie kierunek php opcji nowy przechodzi ona do strony specjalność.php a tam na początku sprawdza warunek opcji wybranej z listy rozwijanej na stronie kierunek.php. Ponieważ wybrano opcję nowy następuje przekierowanie do strony new_kierunek.
Problem: Jak przekazać całą resztę danych np wydział wybrany na stronie wydzial_kierunek. Ktoś podpowiedział żeby użyc cookies - ale jak, gdzie, kiedy...?
luinnar
najlepiej użyć sesji, cookies można wyłączyć w przeglądarce
o sesjach poczytasz w manualu i na forum miliony razy poruszano ten temat

(nie podawaj całego kodu html bo najczęściej jest on niepotrzebny i tylko przedłuża posty)
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.