![]() |
![]() ![]() |
![]() |
-swój nick- |
![]()
Post
#1
|
Goście ![]() |
Jest problem: Mam stronkę na której userzy się logują i wykonują różne ciekawe czynności. Chcę by wyświetlało na dole ilu jest zalogowanych i którzy to są.
Do tej pory w bazie MySQL dodałem rubrykę (online) która zawierała wartość 1 gdy użytkownik się zalogował i zmieniała na 0 gdy się wylogował. Problem w tym, że jak zamknął przeglądarkę to zmienna zaostawała ustawiona na 1 i mimo, że go nie było, i tak wyświetlało że jest. Jak to poprawić w jakiś prosty sposób? P.S gdzie znajde wyjaśnienie sposobu działania tych kodów które trzeba wpisywać przy zakładaniu tematu, bym mógł sobie takie coś dodać na swoją stronkę? P.P.S użytkowników trzymam w jednej tabelce mysql, i uzywam kilku kont z MySQL o róznych uprawienieach by zarządzać danymi. Czy jest to najlepsze rozwiązanie czy też lepiej tworzyć każdemu userowi własne konto ... alboco ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 10 Dołączył: 17.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast jedynki podawaj tam aktualny czas time" title="Zobacz w manualu PHP" target="_manual Niech będzie uaktualniany zawsze gdy user wykona jakąś czynność. Jeżeli czas w bazie będzie różnił się od aktualnego powiedzmy o 10min znaczy ze dany user jest offline
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 32 Dołączył: 5.08.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
hehe
![]() dziś już to opisywałem z dokłądnymi skryptami : sprawdź : http://forum.php.pl/PHPMYSQL_Jak_zliczyc_c...ka_t100833.html Ten post edytował ferrero2 19.08.2008, 12:58:32 -------------------- ---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA ! Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ |
|
|
-swój nick- |
![]()
Post
#4
|
Goście ![]() |
Dzięki, zdecyduję się na taki wariant: Tabelka z kolumnami: username, usertype, lastaction - po każdym przeładowaniu strony bede odświerzał tabelkę i usuwał użytkowników nieaktywnych przez 10 min. logowanie dodaje użytkownika do tabelki a wylogowanie usuwa.
A co z osobami nie posiadającymi konta? Na różnych stronkach można spotkać napis: "aktywni: 5 zarejestrowanych, 3 gości" jak liczyć gości? Tak samo tylko do tabelki dodać IP? Jest może lepszy sposób? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
A może coś takiego:
Kod +-----------+-----------+---------------+ | sess_ID | user_ID | last_action | +-----------+-----------+---------------+ | abfd332 | 1 | 123456789 | | 234dda2 | 34 | 123450000 | | ccf021a | NULL | 123478787 | sess_ID - CHAR/VARCHAR, klucz podstawowy, nie auto_increment, przechowujesz tutaj ID sesji (session_id" title="Zobacz w manualu PHP" target="_manual) user_ID - INT, może być NULL, przechowujesz tutaj ID zalogowanego użytkownika lub NULL jeśli nie jest zalogowany (jest gościem) last_action - TIMESTAMP, DEFAULT CURRENT_TIMESTAMP, przechowujesz tutaj czas ostatniej akcji zapisany pod postacią timestampa. Przy każdej aktualizacji rekordu pole to automatycznie przyjmie bieżącą datę Dodawanie nowego gościa/wylogowanie zalogowanego użytkownika:
Logowanie użytkownika:
Usuwanie starych wpisów
Liczenie gości na stronie:
Ten post edytował Kicok 19.08.2008, 15:45:50 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:46 |