Kiedy user jest zalogowany? - która zmienna z bazy?
: 30 marca 2007, 17:28
Witam
Chciałbym, żeby na profilach użytkowników pojawiała się informacja, czy użytkownik jest zalogowany. Ale nie jestem do końca pewien, która zmienna za to odpowiada. Chociażby dlatego, że jeśli np. zaloguję się i nie robię nic przez 15 minut, to na dole forum znika mój nick z listy userów zalogowanych (sprawdzałem to z innego komputera). Tak jakby sesja się "hibernowała". Jeśli jednak wykonam jakąś akcję, to z powrotem mój nick tam się pojawia. Więc wydaje mi się, że co najmniej dwie, lub więcej zmiennych jest odpowiedzialny za przechowywanie sesji lub zawiera informację o zalogowaniu.
W związku z tym pytanie, która jest najbardziej prawdziwa.
Mi wydaje się, że phpbb_sessions.session_logged_in. Jednak wydaje mi się, że nie jest to chyba w 100% pewne, bo kilka razy widziałem, że jakiś nick był wymieniony (na dole forum), że user już nie jest zalogowany, a ta zmienna cały czas miała wartość 1.
Czy jest może inna, lepsza zmienna?
Jeśli nie, to rozumiem, że wystarczy, że zrobię zapytanie do bazy, które sprawdzi, czy:
Dobrze kombinuję?
A może lepiej wziąć zmienną phpbb_sessions.session_time i sprawdzać, czy nie jest starsza niż np. 5 minut, np:
A z tego co widzę, to jest jeszcze jedna zmienna users_session_time ale umieszczona w tabeli phpbb_users, może więc sprawdzać ją?
A może jest jeszcze lepsze rozwiązanie?
Pozdrawiam i z góry dziękuję za odpowiedź.
Chciałbym, żeby na profilach użytkowników pojawiała się informacja, czy użytkownik jest zalogowany. Ale nie jestem do końca pewien, która zmienna za to odpowiada. Chociażby dlatego, że jeśli np. zaloguję się i nie robię nic przez 15 minut, to na dole forum znika mój nick z listy userów zalogowanych (sprawdzałem to z innego komputera). Tak jakby sesja się "hibernowała". Jeśli jednak wykonam jakąś akcję, to z powrotem mój nick tam się pojawia. Więc wydaje mi się, że co najmniej dwie, lub więcej zmiennych jest odpowiedzialny za przechowywanie sesji lub zawiera informację o zalogowaniu.
W związku z tym pytanie, która jest najbardziej prawdziwa.
Mi wydaje się, że phpbb_sessions.session_logged_in. Jednak wydaje mi się, że nie jest to chyba w 100% pewne, bo kilka razy widziałem, że jakiś nick był wymieniony (na dole forum), że user już nie jest zalogowany, a ta zmienna cały czas miała wartość 1.
Czy jest może inna, lepsza zmienna?
Jeśli nie, to rozumiem, że wystarczy, że zrobię zapytanie do bazy, które sprawdzi, czy:
Kod: Zaznacz cały
if (phpbb_sessions.session_logged_in == 1)A może lepiej wziąć zmienną phpbb_sessions.session_time i sprawdzać, czy nie jest starsza niż np. 5 minut, np:
Kod: Zaznacz cały
if (phpbb_sessions.session_time >= (time() - 300))A może jest jeszcze lepsze rozwiązanie?
Pozdrawiam i z góry dziękuję za odpowiedź.