Utilizadores online em php

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 :(
 
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 :)
 
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...
 
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:
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:
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 gaz logout actualiza o campo para 0?

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...
 
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 gaz logout actualiza o campo para 0?
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.
 
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 :(
 
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á
 
Back
Topo