![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ustawiłem własny Handler do sesji - wszystko zapisuje się do bazy danych.
Niestety w pewnej sytuacji potrzebuję ustawić dane sesji do bazy danych, a potem powrócić do domyślnej obsługi i zapisać dane do pliku. Niestety nie wiem jak przywrócić domyślny Session Handler. Czyli schemat działania: 1.) Zmiana Handlera na nowy. 2.) Zapis danych sesji (do bazy danych). 3.) Odczyt (weryfikacja). 4.) Zakończenie pracy. 5.) Powrót do domyślnej obsługi (domyślny Handler). 6.) Zapis danych sesji. 7.) Odczyt (weryfikacja). 4.) Automatyczne zakończenie pracy. Do tej pory robiłem coś takiego:
ale wstawia dane do bazy danych zamiast do plików. Czy mi się dobrze wydaje - ustawienie nowego Handlera działa na stałe - nie do zakoczenia sesji/skryptu? Ten post edytował Walian 23.08.2009, 21:38:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli Tobie chodzi o to, bym mojego handlera przerobił tak, by zapisywał/odczytywał dane zarówno z bazy danych jak i z plików, w zależności co wybiorę w danym momencie. Ale moim zdaniem to jest właśnie "wyjazd z armaty" (IMG:style_emoticons/default/tongue.gif) Bo wychodzi na to, że musiałbym przerobić nieco klasę w której mam handlera, ale to więcej roboty niż przywrócenie na chwilę domyślnego handlera (o ile to możliwe).
Tak poza tym to - sesje mi są potrzebne tylko do logowania, natomiast zapis do pliku tylko przy rejestracji konta - po to, by używając przycisku "< Popraw dane" (pisałem o tym tu) usera przeniosło spowrotem na formularz, który wypełniał i aby został on (formularz (IMG:style_emoticons/default/tongue.gif) ) wypełniony. Niestety jeśli również i te dane miałyby być zapisywane do bazy to pole z wartościami dodatkowymi (te, które są serializowane) musiałoby mieć jeszcze dłuższą wartość - a po cholerę? Tak więc da się powrócić do domyślnego handlera czy nie? ## Dodane 24.08.2009 21:00: Dobra pokombinowałem trochę, ale nic to nie dało. Napisałem sobie osobną klasę do obslugi sesji poprzez pliki (czy zmieniam handlera 2x - raz dla bazy, raz dla plików), ale nadal sesja plikowa się sypie jeśli "przed nią" użyję sesji bazodanowej - dublują się pliki, klasa (metodą destroy) próbuje usunąć nieistniejący plik, nie zapisują się dane czasami, nie odczytują nigdy itd. robię to tak:
Nie wierzę, że nikt nie wie jak poradzić sobie z tym problemem... Ten post edytował Walian 24.08.2009, 20:01:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 16:55 |