Php Online/Offline Users

Sasukez0r

Power Member
é assim pessoal eu tenho uma coluna na tabela jogadores com o nome online e quando eles entram no jogo com a sua char akilo altera e mete on e eles aparecem como online se fizerem log out akilo altera e fika komo offline mas se eles fecharem so o browser o que e o custome fika online ate alguma vez dar log out ou trocarem de char =S
ajudem sff.
 
Exacto. Não tens controlo sobre o que uma pessoa faz, pelo que consideras que essa pessoa está online a menos que se passem x minutos sem qualquer actividade da sua parte.

Assim, qualquer página chamada pelo jogo actualiza a "data da última actividade", e o script que diz quem está online apenas mostra aqueles cuja última actividade é anterior à data actual menos x minutos :)

Estás a usar que SGBD para registar os dados? Um campo do tipo TIMESTAMP resolve-te isso ;)
 
eu estou a usar mysql e tou a utilziar includes com get e isso, assim se eu puser uma query que actualiza na base dados a coluna ultima acção sempre ke derem refresh a pagina home ke e a unica utilizada o resto e derivado de includes ele vai alterando o dado na base de dados e assim já dá né?
 
Usa vírgulas, sff, que foi difícil compreender o que escreveste ;)

Estás a usar MySQL. O MySQL tem um tipo de dados que podes usar numa coluna, que é o TIMESTAMP.
Podes actualizar o registo de um utilizador na página home (já que é a única chamada). Esse registo terá o CURRENT_TIMESTAMP (data e hora actuais).

Depois, para veres quem está online, usas algo como
Código:
SELECT username FROM membros WHERE ultima_actividade > date_sub(NOW(), INTERVAL 5 minute)
 
e ke onde diz kem ta online e no ranking e aparecem outros dados e todos os jogadores, por isso tenho que usar if mas gostava de saber com e a syntax sff, dexculpa ainda tou a aprender php aprendi apenas a ler programção e w3school tutorials.
 
Desta vez não percebi mesmo nada!

O que é que te falta? Se precisas de mais colunas, podes, em vez de "SELECT username" fazer "SELECT *", e depois, usando o mysql_fetch_assoc (ver) recebes uma array associativa de $var[coluna] = valor.
 
vou explicar melhor xD

Na zona Estatisticas aparece uma tabela

JOGADOR | NIVEL | ONLINE

sasuke | 13 | Verde/Vermelho

ou seja na parte online é suposte ter um if($ultimaacao ... o resto nao sei.

já agora outra pergunta o timestamp é assim time(); ?
 
porque não actualiza o timestamp na bd?

Query
Código:
$timestamp = time();
         ownsql("UPDATE jogador SET ultima_accao = '$timestamp' ,ip = '$REMOTE_ADDR' WHERE cod_jogador = '$player'");
 
Última edição:
Back
Topo