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

Utilizadores online em php

Discussão em 'Web Development' iniciada por candycane, 20 de Julho de 2008. (Respostas: 9; Visualizações: 1207)

  1. candycane

    candycane Power Member

    Boa noite comunidade :)

    alguém sabe como é que se vê os nomes dos utilizadores que estão a visitar o site no momento?

    Como ha aqui no techzone....

    Das pesquisas que fiz só encontrei pra contar o numero de utilizadores online, mas pelo nome não encontro :(
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Isso depende bastante do site.
    Um fórum tem utilizadores identificados por um ID, e um blog geralmente só tem visitantes. Assim, cada vez que um utilizador do fórum fizer refresh a uma página e o fórum identificar o ID dele, só tem de registar na base de dados uma "actualização" desse utilizador. Em contrapartida, num blog dificilmente sabes alguma coisa do utilizador, pelo que o melhor que arranjas é um contador.

    Que CMS tens? Um fórum? Um blog? E fizeste-o ou instalaste-o? Se o instalaste, qual é? (SMF, phpBB, WordPress...)
    Só com estas informações é que conseguimos ser alguma ajuda :)
     
  3. candycane

    candycane Power Member

    Eu é que estou a desenvolver um mini forum, e uma coisa eu queria era mostrar quem esta online...

    Ponho um campo na base de dados online, e faço o update pelo session['nome'] ?

    Tou a fazer isso desde raiz...
     
  4. silvino

    silvino Power Member

    Olá Candy,

    Primeiro deixa que te diga que tens uma grande empreitada pela frente... Para saberes os utilizadores
    que tens on-line depende muito do sistema de login que implementas-te... Se por exemplo estás a usar
    mysql e tens uma tabela utilizador onde guardas os dados do login como a sessão e etc, podes criar
    um campo onde seja guardado o estado do login, podes por exemplo chamar status, onde 0 significa
    que não está e 1 está, depois basta;

    PHP:
    "SELECT nome FROM utilizador WHERE status=1"
    Tudo depende do teu sistema de login ;)
    Quando tiver pronto avisa ;)
     
    Última edição: 21 de Julho de 2008
  5. tem de ser uma aplicação web com recurso a base de dados, com o silvino postou, resume-se a consultar na DB quais os users que têm o status = 1

    Tenho uma questão, para este caso, o campo status é actualizado cada vez que o user faz o login gravando o valor 1 nesse campo e quando faz logout actualiza o campo para 0?
     
    Última edição: 21 de Julho de 2008
  6. silvino

    silvino Power Member

    Na minha opinião sim, de cada vez que uma página é carregada o mecanismo deve verificar se os
    dados de login batem certo, ip, sessao, cookie, com os dados na tabela utilizador caso contrário o status
    fica em 0.

    Deve também ter um pequeno javascript para detectar quando o cliente fecha a "página" para actualizar
    a tabela, deve usar ajax...
     
  7. napalm

    napalm Power Member

    O problema é se usares cookies para fazer o login automático, vais ter de usar timeouts para tirar os utilizadores da lista de activos já que estes não fazem logout.
    Algumas frameworks permitem fazer multithreading e podes ter uma thread à parte que vá fazendo o update à bd de tempos a tempos, ou podes fazer essa limpeza sempre que um utilizador aceda a uma página o que obviamente tem custos em termos de desempenho.
    Outra hipótese ainda é um cron-job, que basicamente é uma tarefa que é lançada pelo SO em determinado intervalo de tempo e que te permite fazer essa limpeza.
     
  8. candycane

    candycane Power Member

    Como é que os dados são actualizados sempre que o user faz o login?

    Eu so estou a user cookies para lembrar os users quando fazem check e checkbox lembra-me... De resto uso sessoes...

    Só não estou a entender como é que actualizo o status de cada utilizador :(
     
  9. silvino

    silvino Power Member

    Coincidência é que estou a re-escrever o sistema de login do meu site, quando terminar posso por
    o código on-line para veres, penso que mais meia hora e já está a funcionar, se poderes esperar...

    Podes me adicionar ao teu MSN para ser mais facil comunicarmos [email protected], já que tb tenciono
    construir de raiz uma especie de forum, que será mais para utilizar como comments as páginas do
    meu site...

    Até já
     
  10. candycane

    candycane Power Member

    Obrigada silvino :)

    A intensão do mini forum é para que os users tirem as suas duvidas sobre os produtos da empresa.. algo bem simples...
     

Partilhar esta Página