Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sprawdzanie trwających połączeń / sesji, Nie wiem jak to zatytułować.
sadistic_son
post
Post #1





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Witam,

Piszę aktualnie prostą gierkę on-line.
Kiedy użytkownik poda swoje imie do bazy zostaje dodanych kilka rekordow z przydatnymi pozniej danymi.
W momencie ukonczenia/przejscia gry przez uzytkownika rekordy te sa usuwane.
Jak zrobic aby te rekordy usunaely sie nawet w przypadku kiedy user zamknie przegladarke lub pojdzie na inna strone?
Wymyslilem ze najprosciej bedzie jak skrypt bedzie sprawdzal jakie sesje sa aktywne. Czyli np. user 'adam' wlasnie gra i jego sesja ($_SESSION[name']='adam')jest aktywna wiec jego rekordy nie moga jeszcze zostac usuniete z bazy.
Natomiast user 'jurek' opuscil strone przed ukonczeniem gry. Zakladam ze tym samym jego sesja ($_SESSION['name']='jurek' ) przestala byc aktywna. W takim wypadku jego rekordy powinny zostac usiniete.
Jak to zrobic? Jak sprawdzic jakie wartosci przyjmuje $_SESSION['name'] w tym samym czasie dla roznych uzytkownikow? Jest to w ogole mozliwe?

Ten post edytował sadistic_son 2.09.2010, 18:59:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thomson89
post
Post #2





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


A jakbyś przy ukończeniu gry przez użytkownika, kasował rekordy i DODAWAŁ do tabelki 'przeszli' np. coś takiego:
Kod
id -- przeszedl
1-----0 lub 1


I przy kolejnym uruchomieniu skryptu przez tego usera sprawdzisz czy przeszedł, a jak nie to usuniesz rekordy.

Przy takiej tabelce, możesz też wywoływać zadania (cron) i czyścić bazę co, np. ~2h

--EDIT:
~krispak - on nie ma dostępu do sesji użytkownika którego nie ma na stronie skryptu lub który wyczyścił sesje (wyszedł / zamknął przeglądarkę).

Ten post edytował thomson89 2.09.2010, 19:11:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 01:49