1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Php Online/Offline Users

Discussão em 'Web Development' iniciada por Sasukez0r, 5 de Setembro de 2008. (Respostas: 9; Visualizações: 802)

  1. Sasukez0r

    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.
     
  2. anjo2

    anjo2 Power Member

    O online e offline faz-se sempre por tempo e não se fizerem logout ou não.
     
  3. Sasukez0r

    Sasukez0r Power Member

    como faço ? por tempo ja procurei por todo o lado podes me ajudar sff
     
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    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 ;)
     
  5. Sasukez0r

    Sasukez0r Power Member

    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é?
     
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    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)
     
  7. Sasukez0r

    Sasukez0r Power Member

    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.
     
  8. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    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.
     
  9. Sasukez0r

    Sasukez0r Power Member

    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(); ?
     
  10. Sasukez0r

    Sasukez0r Power Member

    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: 7 de Setembro de 2008

Partilhar esta Página