webForumDet fria alternativet

Hur kollar man om någon är online?

PHP

4 svar · 324 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Jag har en tabell med följande kolumner:
ID | usr | pwd | sessionid | tidstampel

Jag vet att jag skall jämföra nuvarande tid med den som finns i tidstampel, och om man ex. varit inaktiv i 10 min så loggas man ut.

Men vet inte riktigt hur jag skall gå till väga!

:q

Medlem sedan maj 20002 993 inlägg
#2

10 min = 60*10

loop
{
if tidstampel <= (nu-600)
{
inaktiv!
logga ur
}
}

Medlem sedan nov. 20014 054 inlägg
#3

Oki ska arbeta på detta! :)

Medlem sedan okt. 2001538 inlägg
#4

Den här koden använde jag med fördel i samarbete med en databas.
Enda nackdelen är att sidan som denna ligger på, iaf. på den sida som jag hade den på, laddades om var typ tedje minut, och låg gömd i en frame, vilket medförde att alla användare som var online hade en sådan här sida som laddades om var tedje minut.

Men koden funkar iaf. och om man bara låter koden köras varje gång en sida laddas, så bör det ju funka rätt så bra

	// 1. Uppdatera databasen med nuvarande tid för nuvarande användare
	$conn = mysql_connect("localhost", "", "");
	mysql_select_db("users");
	$send = "UPDATE login SET tblLastActive = '".time()."', tblStatus = 'Online' WHERE tblName = '".$login."'";
	mysql_query ($send, $conn);

	// 2. Kör en check mot databasen vilka användare som har en timestamp som är äldre än fem minuter
	$fiveminago = time() - 300;
	$update = "UPDATE login SET tblStatus = 'Offline' WHERE tblLastActive < '".$fiveminago."'";
	mysql_query ($update, $conn);
	mysql_close($conn);

MVH Patrik

Medlem sedan nov. 20014 054 inlägg
#5

oki!

Man tackar för svaren! :e Ska framföra min helhetslösning sen när det funkar allt... :)

390 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
131 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)