Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zapamiętać wartość z rozwijanego pola wyboru <select>
Forum PHP.pl > Forum > Przedszkole
Radi_
Jak zapamiętać wartość z rozwijanego pola wyboru

Przesyłam wartości np:
  1. <option value="15">
z
do $_POST
Jak zapamiętać wartość z poprzedniej strony na kolejnej ?
Siner
  1. <option value="wartosc" selected="selected">tekst</option>

selected="selected", lub jakaś dowolna wartość w selected powinna dać rezultat wybranego pola.
qrees
Cytat(Radi_ @ 17.01.2008, 10:51:07 ) *
Jak zapamiętać wartość z rozwijanego pola wyboru

Przesyłam wartości np:
  1. <option value="15">
z
do $_POST
Jak zapamiętać wartość z poprzedniej strony na kolejnej ?

Jest parę rozwiązań. Możesz np użyć sesji:
  1. <?php
  2. $_SESSION['select'] = wartość;
  3. ?>

Tablica $_SESSION nie zmienia się pomiędzy kolejnymi odświerzeniami strony.

Możesz do każdego linku na stronie dopisywać tą wartość.

I możesz jeszcze używać formularzy i pola hidden, ale to ma już bardzo ograniczone zastosowanie.
Radi_
  1. selected="selected"
zapamiętuję tylko jedną wartość (narzuconą) i to nie we wszystkich przeglądarkach.
Mi zależy na utrzymaniu przez formularz wybranej pozycji z listy na kolejnej stronie.
np:
  1. <select name="owoce">
  2. <option value="1">Banan</option>
  3. <option value="2">Jabłko</option>

tablica $_SESSION proszę o prosty przykład jakbyś to widział ?
konri24
  1. <?php
  2. // tworzy tablice z elementami do scrollbox'a
  3. $owoce=array('Banan','Jabłko');
  4.  
  5. // zlicza elementy tablicy $owoce do zmiennej $i
  6. $i=count($owoce);
  7.  
  8. // domyślna wartość scrollbox'a
  9. if (!(isset($_SESSION['owoce']))) $_SESSION['owoce']=0;
  10.  
  11. // zapamiętuje wybór
  12. if($_POST['owoce']!=='')
  13. {
  14.  $_SESSION['owoce']=$_POST['owoce'];
  15.  setcookie('owoce', $_POST['owoce'], time() - 3600); // opcjonalne zapisywanie do cookie
  16. }
  17.  
  18. $_SESSION['owoce']=$_COOKIE['owoce']; // wczytywanie wyboru z cookie, opcjonalne
  19.  
  20. // wyświetla scrollbox'a
  21. echo('');
  22. for($z=0, $z<$i, $z++)
  23. {
  24.  if($_SESSION['owoce']==$z) echo(''.$owoce[$z].'');
  25.  else echo(''.$owoce[$z].'');
  26. }
  27. echo('');
  28. ?>

Tego z cookie nie musisz pisać, chyba że chcesz zapamiętywać wybór do cookie. smile.gif
Skryptu nie testowałem więc jak źle będzie działać spróbuj dopisać pod $i=count($owoce);
$i=$i+1; ale raczej powinno wszystko dziłać tongue.gif
Jeszcze jedno, musisz pamiętać że trzeba zapoczątkować sesje na początku dokumentu, jeśli chce sie używać zmiennych sesyjnych:
  1. <?php
  2. ?>
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.