anolsi Posted April 26, 2008 Report Share Posted April 26, 2008 Não sei se estou no local correcto, mas... Tenho uma página em que o utilizador se autentica, inicia uma nova sessão em php, e altera na BD o campo online para verdadeiro. Enquanto este estiver online, não poderá reentrar. O que eu queria fazer era do género, que passados x minutos de inactividade o estado alterava-se para falso. Será que alguém me pode ajudar? "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
fnds Posted April 26, 2008 Report Share Posted April 26, 2008 O que tu podes fazer é colocar na coluna online a hora até à qual o user está no estado online, ex: 1234353234+15*60 (o 1234353234 é o unix timestamp, www.php.net/time), depois cada vez que o user visitar uma página actualizares este valor, fiz-me perceber? Link to comment Share on other sites More sharing options...
Battousai Posted April 27, 2008 Report Share Posted April 27, 2008 ou o mesmo processo com cookie. assim não gastas bd. Link to comment Share on other sites More sharing options...
cyclop Posted April 28, 2008 Report Share Posted April 28, 2008 faz o que o fnds3000 disse... É A MELHOR FORMA "Quando eu for grande quero ser como o Celso" Link to comment Share on other sites More sharing options...
Battousai Posted April 28, 2008 Report Share Posted April 28, 2008 Porquê? Link to comment Share on other sites More sharing options...
Tsunamy_boy Posted April 30, 2008 Report Share Posted April 30, 2008 faz o que o fnds3000 disse... É A MELHOR FORMA discordo! concordo mais com o Battousai, pois imagina que o utilizador fez login num pc e não fez logoff, imagina que ele quer fazer login noutro pc, não vai conseguir... teria que esperar x minutos para voltar a entrar, com cookie o utilizador pode entrar em qualquer pc as vezes que quiser. Agora é um facto que se pode logar em várias máquinas mas isso não tem grande problema, acho. ** editado Para solucionar a entrada consecutiva de várias vezes, simplesmente banes o ultimo IP durante algum tempo. Mas: Isso de guardar Ip's por registo não é boa ideia, pois imagina uma rede, cada um tem o seu ip (mas da rede, pois da net é o mesmo para todos) sendo assim, imagina uma escola a tentar entrar no teu site, o ultimo progredia sobre o anterior... Link to comment Share on other sites More sharing options...
taviroquai Posted April 30, 2008 Report Share Posted April 30, 2008 Uma 3ª solução, e a que eu uso, é registar o tempo numa variável de sessão, parecido com a solução do cookie... if (time() - $_SESSION["last_request"] > $max_inactivo) { // logout... } else $_SESSION["last_request"] = time(); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now