Charles Farias
Problemas no contador por sessão
22 de May de 2016 às 08:41PM
Boa tarde Senhores,

Estou com uns problemas neste código, pois preciso que no momento que eu acessar uma pagina ele capture o id desta página, que é perfil.php?id=12 e leve para a tabela contador, sempre incrementando mais um. Eu informo, porém ou ele cria um registro diferente. Houve casos que ele incrementa, mas no meu perfil, nunca no perfil que estou visitando. Será que alguém poderia me ajudar?


<?php
session_start();

$expira_em = 5; //DEFINE EM MINUTOS A EXPIRAÇÃO DO ACESSO DO USUARIO
$sessao = session_id();
$ip = $_SERVER['REMOTE_ADDR'];
$tempo_on = date('Y-m-d H:i:s');
$tempo_fim = date('Y-m-d H:i:s',mktime(date('H'),date('i') - $expira_em,date('s'),date('m'),date('d'),date('Y')));

$conexao = mysql_connect('localhost','root','apache') or die("Erro ao conectar");
$db = mysql_select_db('friendsnew') or die("Erro ao selecionar o DB");

//EXCLUI USUARIOS QUE ESTEJAM INATIVOS NO TEMPO DEFINIDO COMO EXPIRAÇÃO
mysql_query("DELETE FROM usuarios_online WHERE tempo <= '$tempo_fim'");

//SELECIONA USUARIO
$sql = mysql_query("SELECT id FROM usuarios_online WHERE sessao='$sessao'");
$total = mysql_num_rows($sql);
if($total){
mysql_query("UPDATE usuarios_online SET tempo='$tempo_on' WHERE sessao='$sessao'");
}else{
mysql_query("INSERT INTO usuarios_online(sessao,tempo,ip)VALUES('$sessao','$tempo_on','$ip')");
//Tratamento Contador
$sql_c = mysql_query("SELECT id FROM contador where id=". $_SESSION['id'] ." and idConta=" . $_GET['idConta']."");
$total_c = mysql_num_rows($sql_c);
if($total_c){
mysql_query("UPDATE contador SET visitas=visitas+1 where id=". $_SESSION['id'] ."," . $_GET['idConta'] . "");
}else{
mysql_query("INSERT INTO contador(id,idConta,visitas)VALUES(" . $_SESSION['id'] . ", " . $_GET['idConta'] . ",1)");
}
}
//ONLINES
$sql_o = mysql_query("SELECT id FROM usuarios_online");
$total_online = mysql_num_rows($sql_o);
//VISITAS
$sql_v = mysql_query("SELECT contador FROM users where id=". $_SESSION['id'] ." LIMIT 1");
$d_v = mysql_fetch_object($sql_v);
$total_visitas = $d_v->visitas;

echo "Total de Visitas: ".$total_visitas."<br>";
echo "Online Agora: ".$total_online;
?>
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.