![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 22.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Do "obsługi" sesji używam funkcji session_set_save_handler() i bazy danych MySQL.
Najpierw wywołuję wyżej wymienioną funkcję session_set_save_handler(...) Potem session_start() Dalej w tym samym skrypcie chcę pobrać ID sesji z bazy danych SELECT session_id FROM sesje... itd. ID sesji powinno być już chyba zapisane w bazie danych poprzez wywołaną wcześniej funkcję session_start()..., ale okazuje się że nie ma jej jeszcze w bazie danych i nie mogę jej pobrać. Mogę to zrobić dopiero po ponownym wykonaniu skryptu. Czyli co?. Mam rozumieć że session_start() zapisuje dane sesji do bazy danych dopiero po zakończeniu całego skryptu?. I nie mogę się w żaden sposób odwołać do tych danych wcześniej?. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 42 Dołączył: 22.07.2007 Skąd: /dev/random Ostrzeżenie: (0%) ![]() ![]() |
Danych nie ma jeszcze w bazie ponieważ nie są tam jeszcze zapisane przez session_write_close. Użyj session_id do pobrania ID sesji.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 22.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
No tak... session_write_close() ;-) - dzięki.
Funkcja ta zapisuje dane do bazy i kończy sesje, co pozwala na dostęp do tych danych w dalszej części skryptu. I o to mi właśnie chodziło. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:33 |