Lirdoner
16.01.2010, 15:08:35
Witam, gdy użytkownik się loguje to $_SESSION['liczba'] = 0 a gdy wejdzie na jedną z podstron to wtedy $_SESSION['liczba'] = 1
Co zrobić aby po zalogowaniu się user w $_SESSION['liczba'] miał już nie 0 tylko 1?
Hellelujah
16.01.2010, 15:32:42
Rozumiem, że chcesz przechować na serwerze jakieś dane pomiędzy sesjami (logowaniami)? W takim wypadku musisz je zapisać w bazie danych albo pliku tekstowym. Skoro mówisz o logowaniu, to pewnie bazę danych już masz - dalszy sposób postępowania zależy od tego, jaka to baza i jak sie z nią łączysz.
Musisz też pamiętać, że sesja php sama w sobie nie jest powiązana z "sesją" jako okresem między zalogowaniem a wylogowaniem. Sesja to tylko takie narzędzie, dzięki któremu serwer przez kilka minut pamięta, że z danym komputerem już się łączył, i odróżnia go od innych. Po tych kilku minutach sesja wygasa i wszystkie dane z $_SESSION przepadają.
adam83
16.01.2010, 15:59:34
jeśli mogę dołączyć swoje pytanie do pytania kolegi...
W jakim przypadku zmienne sesji zginą? Napewno jeśli je usuniemy, jeśli zniszczymy istniejącą sesję, a inne przypadki? np jesli user zamknie przegladarkę albo skoczy odsyłaczem do innej lokalizacji?
Hellelujah
16.01.2010, 16:26:50
Sesja działa w ten sposób, że każe przeglądarce stworzyć ciasteczko zawierające ID sesji (numer, po którym serwer rozpozna nasz komputer). Następnie przy każdym kolejnym zapytaniu (połączeniu z serwerem) nasz komputer jest rozpoznawalny, "podpisany" swoim ID. Sesja pozostanie aktywna, dopóki serwer będzie przechowywał jej dane (gdzieś w konfiguracji php można ustawić długość tego okresu), a jednocześnie przeglądarka może się do niej dostać, dopóki może się "przedstawić", czyli dopóki istnieje casteczko sesyjne. Co z tego wynika? Ciacho ma ważność do chwili zamknięcia przeglądarki, więc po zamknięciu nasz komputer staje się dla serwera "bezimienny", ale sesja na serwerze może nadal istnieć (to ważny szczegół - ktoś, kto ukradnie ID, może się podszyć). Przy kliknięciu linka ciasteczko nie jest ruszane, więc sesja przetrwa do chwili wygaśnięcia na serwerze.
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.