Ja sesji używam od samego początku wejścia użytkownika na stronę, przechowując w niej ogólne dane użytkownika (przeglądarka, czas wejścia, obecny adres url oraz poprzedni adres url, identyfikator sesji, itd...). Do obsługi sesji jak i obsługi użytkownika posiadam osobne moduły (funkcje). Ustawienia zarówno sesji jak i użytkownika znajdują się w pliku .ini. I teraz szukam metody na oddzielenie danych sesji od danych użytkownika w obsłudze tych dwóch zagadnień. Mojego dziwnego problemu by nie było gdybym sesje używał tylko w przypadku zalogowanego użytkownika, obsługa sesji nie mieszała by się z obsługą użytkownika, ponieważ w momencie pojawienia się sesji, znaczy że użytkownik się zalogował i zaczyna się jej kontrola, ale tak nie mam....
Sprawa dotyczy ustawień sesji:
- aktywacja wygasania sesji - maksymalny czas trwania całej sesji oraz od ostatniej aktywności sesji (użytkownika);
- aktywacja regeneracji sesji - po określonym czasie oraz po określonej ilości żądań.
I teraz kłóci mi się obsługa tych parametrów ustawień w odniesieniu do danego modułu (sesja, użytkownik). Dla mnie logicznym jest, że te ustawienia dotyczą sesji, dlatego powinny być obsługiwane poprzez moduł obsługi sesji, ale nie ma sensu kontrolować czasu trwania sesji, czy regenerować jej id w przypadku gdy użytkownik nie jest zalogowany, bo to bez sensu. Natomiast umieszczenie ich obsługi w module użytkownika, gdzie mógłbym sprawdzić czy jest zalogowany i wtedy np. utworzyć zmienną $_SESSION['loginTime'] która by przechowywała czas zalogowania, i przy jej pomocy kontrolować czas sesji użytkownika, ale wtedy wszystkie ustawienia sesji przechodziły by pod obsługę modułu użytkownika, i to mi się kłóci. W drugą stronę, tzn. w module kontroli sesji sprawdzenie czasu trwania sesji wymagało by wcześniejszego sprawdzenia czy użytkownik jest zalogowany, np. $_SESSION['isLogged'] ale to mnie też kuje w oczy bo to dane użytkownika.
Wiem, że większości to o co pytam wyda się głupotą, może nawet nie będziecie wiedzieć tu tej małej niespójności, ale mam nadzieje, że niektórzy zrozumieją co mi po głowie lata:P Jak mogę sobie oddzielić obsługę sesji od użytkownika, czy to nie ma sensu?
