Guest Luiz Henrique Postado Janeiro 10, 2005 Denunciar Share Postado Janeiro 10, 2005 $timestamp=time(); $timeout=time()-300; // valor em segundos $result=mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); $result=mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout"); $result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error()); $usuarios=mysql_num_rows($result); Eu não entendi como funciona esse trecho, como o valor de timestamp fica menor que o $timeout para ele excluir o IP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ppgsalomao Postado Janeiro 10, 2005 Denunciar Share Postado Janeiro 10, 2005 Cara,Ele está comparando o timestamp que está no banco de dados !Não a váriável timestamp criada acima !Essa variável timestamp é o horário atual!Entendeu ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Luiz Henrique Postado Janeiro 10, 2005 Denunciar Share Postado Janeiro 10, 2005 É que eu sou iniciante e queria entender a lógica deste sistema de usuários online, o script próprio faz a atualização? (Para saber se remove o registro do IP que saiu... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Janeiro 10, 2005 Denunciar Share Postado Janeiro 10, 2005 Seguinte...Primeiro o script vê a hora atual: $timestampDepois ele dá a margem de tempo que um usuário poderia ficar logado sem renovar a sessão: $timeout.- Certo, Error, mas por que ele pôs aquele "-300" ali?É -300 porque o tempo é dado em segundos (o timestamp é a data de agora, desde 1º de janeiro de 1970, em segundos). Ou seja, o timestamp de agora -300 corresponde a 5 minutos atrás (300 ÷ 60 = 5).Então ele vai deletar todos os usuários cuja última data de atualização foi anterior a 5 minutos atrás ($timestamp-300), ou seja, faz 5 minutos que o cidadão não renova a sessão dele.Capisce? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Luiz Henrique Postado Janeiro 10, 2005 Denunciar Share Postado Janeiro 10, 2005 Valeu amigo.. agora intendi... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Luiz Henrique
$timestamp=time();
$timeout=time()-300; // valor em segundos
$result=mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
$result=mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout");
$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());
$usuarios=mysql_num_rows($result);
Eu não entendi como funciona esse trecho, como o valor de timestamp fica menor que o $timeout para ele excluir o IP.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.