Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou criando um sistema e precisaria que salvasse no banco de dados o tempo que o usuário ficou logado. Porem o que eu fiz não deu muito certo.
setcookie("idlog", $idlog, time()+60);
$sql = mysql_query("UPDATE `log` SET `time` = `time` + 60 WHERE `id` = '$idlog' LIMIT 1 ;");
O código funciona mas esse comando executa em todas as paginas... então se você abrir 10 paginas e sair vai marcar 600 segundos e não é o tempo real.
Eu não sei se existe um jeito de criar isso... mas pelo meu codigo eu acho que a alternativa seria: 60 - tempo restante do cookie e o valor seria adicionado no banco e no cookie.
Alguem sabe pegar esse tempo do cookie ou outro metodo para saber o tempo que o visitante ficou no site?
Obs: não adianta aqueles sites que fazer isso pois eu gravo no banco de dados junto com ip, usuario e outros dados.
Obrigado
Opa André, então não entendi muito bem... eu até pensei em fazer um time na entrada e um time na saída e subtrair pra ver o tempo... porem isso não funcionaria se só fechasse o navegador...
Obrigado
É ai que entra isso "ai você teria que desenvolver um sistema que "gerencia" a inatividade do usuario".
Quando o usuário entra no site, você grava um cookie sendo que o valor desde cookie é o timestamp atual, da hora que ele entrou.
Aí quando ele sair do site (ai você teria que desenvolver um sistema que "gerencia" a inatividade do usuario) você subtrai o timestamp atual com o do valor do cookie.
Ahh, você pode usar session tbm, ou definir a validade do cookie como 0.