![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, szukałem odpowiedzi na mój problem i nie mogę znaleźć, choć wiem, że można to rozwiązać używając Time().
Chciałbym by po upływie sesji np 2 minutach wylogowało użytkownika nie tylko niszcząc sesje, ale także zmieniając wartość w mysql, tak aby efekt był widoczny też po stronie serwera, prosił bym o przykład, bo mniej/więcej wiem jak by to musiało działać, lecz mi nie wychodzi ;/ |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 419 Pomógł: 42 Dołączył: 12.08.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Każda akcja użytkownika niech zapisuje timestamp w bazie i ta sama akcja niech wywołuje przy okazji zapytanie typu 'usun wszystkich uzytkownikow o czasie wiekszym niz 2 minuty' (liczac za pomoca timestamp aktualny - timestamp zapisany.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak pisałem wyżej, wiem że chodzi o ten time, ale mi nie wychodzi dlatego prosiłem o przykład, nie wiem czy wina jest po stronie skryptu, czy robię źle bazę.
Przypuśćmy że skrypt jest taki (znalazłem gdzieś na tej stronie w archiwum, nie pamiętam linka): mysql_query("UPDATE users SET aktywnosc = ".time()." WHERE login = '{$login}'"); ;p ale nie wiem jak zrobić bazę bo ten timestamp w bazie nie zmienia czasu, czytałem, że robi to przy akcji, więc się w tym wszystkim pogubiłem ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
UPDATE users SET aktywny=0 WHERE data_aktywnosci< time()-120
edit:// dzięki takiemu sposobowi będziesz miał aktywny=1 przy zalogowanych userach i 0 przy niezalogowanych, ale na moje oko taa kolumna jest nie potrzebna, bo po prostu możesz pobierać zalogowanych userów za pomocą
i niezalogowanych zmieniając znak > na =< Ten post edytował peter13135 29.08.2011, 07:42:20 -------------------- :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
mj przykład dotyczył rzaczej kolumny typu integer
![]() -------------------- :)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak więc, zrobiłem Aktywnosc pod integer, oto moje nie dziłające wypociny:
sprawdza czy aktywny, ale chyba źle tablice zrobiłem?
Przy zalogowaniu robi się takie coś: a tabela ustawia w aktywności "1314601930" i nic się nie zmienia Może wyślij gotowy przykład php i mysql ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
o gotowce możesz prosić w dziale giełda
![]() 1. Znajdź sobie jakikolwiek kurs pobierania danych z bazy. Nie chce mi się tumaczyć Tobie dlaczego to jest źle, bo wszystko masz w necie. 2. Pobieranie wiele rekordów by potem sprawdzić jeden, jest nieoptymalne. 3. Przypisywanie wartości elementom tablicy $_POST nie jest najlepszą praktyką -------------------- :)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:22 |