Czy można utworzyć tablicę jako zmienną sesji w PHP. Sytuacja jest taka, że mam tabelę (strona 1) z niektórymi komórkami mającymi link do konkretnej strony. Następna strona będzie zawierała listę nazw (strona 2, które chcę zachować w tablicy sesji) z ich odpowiednimi polami wyboru. Po przesłaniu tego formularza doprowadzi to do strony transakcji (strona 3, gdzie wartości umieszczonych pól wyboru są przechowywane w bazie danych dla odpowiednich nazw). Teraz, jeśli powrócę na pierwszą stronę i kliknę inną komórkę, czy tablica sesji zawiera nową listę nazw lub starych?Tablica jako zmienna sesji
Odpowiedz
Tak, PHP obsługuje tablic jako zmiennych sesyjnych. Zobacz przykład this page.
Co do drugiego pytania: po ustawieniu zmiennej sesji pozostanie ona taka sama, dopóki jej nie zmienisz lub nie zostanie zmieniona na . Jeśli więc trzecia strona nie zmieni zmiennej sesji, pozostanie ona taka sama, dopóki druga strona nie zmieni jej ponownie.
Tak, można umieścić tablice w sesjach, na przykład:
$_SESSION['name_here'] = $your_array;
Teraz można użyć $_SESSION['name_here']
na każdej stronie, którą chcesz, ale upewnij się, że można umieścić linię session_start()
przed użyciem jakichkolwiek funkcji sesji, więc Kod powinien wyglądać mniej więcej tak:
session_start();
$_SESSION['name_here'] = $your_array;
Możliwa Przykład:
session_start();
$_SESSION['name_here'] = $_POST;
Teraz można uzyskać wartości pól na każdej stronie tak:
echo $_SESSION['name_here']['field_name'];
Co do drugiej części pytania, zmienne sesyjne pozostają tam chyba inny dane tablicy przypisać:
$_SESSION['name_here'] = $your_array;
Czas sesji jest ustawiony na plik php.ini.
co z pozostałą częścią mojego pytania ..? –
@Anurag: Zaktualizowałem moje pytanie do drugiej części pytania. Dzięki :) – Sarfraz
Wielkie dzięki ... –
Najpierw zmień tablicę na łańcuch za pomocą funkcji implode(). E.g $number=array(1,2,3,4,5,...); $stringofnumber=implode("|",$number);
następnie przekazać ciąg do sesji. np. $_SESSION['string']=$stringofnumber;
, więc kiedy przejdziesz do strony, na której chcesz użyć tablicy, po prostu rozbij swój ciąg. np. $number=explode("|", $_SESSION['string']);
Ostatnim numerem jest twoja tablica, ale pamiętaj, aby rozpocząć tablicę na każdej stronie.
session_start(); //php part
$_SESSION['student']=array();
$student_name=$_POST['student_name']; //student_name form field name
$student_city=$_POST['city_id']; //city_id form field name
array_push($_SESSION['student'],$student_name,$student_city);
//print_r($_SESSION['student']);
<table class="table"> //html part
<tr>
<th>Name</th>
<th>City</th>
</tr>
<tr>
<?php for($i = 0 ; $i < count($_SESSION['student']) ; $i++) {
echo '<td>'.$_SESSION['student'][$i].'</td>';
} ?>
</tr>
</table>
- 1. Zmienna sesji Asp.net
- 2. C/C zmienna ++ tablica w nagłówku funkcji
- 3. POST Zmienna tablica i wartość filtra
- 4. Tablica JavaScript nie jest dostępna jako tablica
- 5. Zmienna sesji zmieniona przez Chrome i FF
- 6. dekodowanie, mała końcówka, nieskompresowana i zmienna tablica
- 7. Duża zmienna tablica bajtów w Erlang
- 8. SQLite jako pamięć sesji
- 9. Dostęp lista pyton w javascript jako tablica
- 10. tablica ciągów jako selektor jQuery?
- 11. Tablica PHP jako klucz tablicy
- 12. Tablica niestandardowej klasy jako własności
- 13. Parametr wiązania jako tablica PostgreSQL
- 14. Strumień C++ jako zmienna składowa
- 15. iOS - zmienna AppDelegate jako instancja?
- 16. Zmienna jako indeks tablicy bash?
- 17. Wyjście bash store jako zmienna
- 18. Czy dozwolona jest zmienna funkcji PHP jako ciąg lub tablica z wzorcem lub wzorem?
- 19. Zmienna globalna bazująca na sesji w PostgreSQL przechowywana procedura?
- 20. Powershell: Tablica wielowymiarowa jako wartość zwracana funkcji
- 21. tablica bajtów jako bitfield w C#?
- 22. Tablica wyników zapytania Angularjs jako właściwość
- 23. Java dodać przyciski dynamicznie jako tablica
- 24. Mutable wielowymiarowa tablica jako argument funkcji
- 25. Tablica całkowita jako klucz do słownika
- 26. Nie można użyć wartości skalarne jako tablica
- 27. Tablica adnotacji jako parametr adnotacji, w Scali
- 28. Flip obraz zapisany jako bajt [] tablica
- 29. Odtwarzanie kształtu fali (tablica zmiennopozycyjna) jako dźwięku
- 30. Korzystanie static const + const jako tablica związany
czy możesz wyjaśnić moje wątpliwości dotyczące późniejszej części pytania ...? –
Po powrocie do pierwszej strony i przejściu do drugiej strony (gdzie dane zostaną umieszczone w sesji) dane sesji będą zawierały nowy zestaw danych. –
Dzięki, mam to .. :) –