Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Depois de muito pesquisar e não achar nada consegui fazer um sistema de contador de acesso muito simples e que não incrementa quando o usuário atualiza, só ira incrementar outra visita se o cliente fechar o browser e abrir novamente.
Esse é o código:
salve o mesmo como - conta.php http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
PHP
<?php@[session_start](http://br.php.net/session_start)();
$jaVisitou = @$_SESSION["jaVisitou"];
$linha=[file](http://br.php.net/file)("contador.txt");
if ($jaVisitou)
{
$visitas = $linha[0];
}
else
{
$visitas = $linha[0];
$visitas += 1;
$cf=[fopen](http://br.php.net/fopen)("contador.txt","w");
[fputs](http://br.php.net/fputs)($cf,"$visitas");
[fclose](http://br.php.net/fclose)($cf);
$_SESSION["jaVisitou"] = true;
}
[echo](http://br.php.net/echo) $visitas= [number_format](http://br.php.net/number_format)("$visitas",0,"", ".");
?>
Na página que vocês forem imprimir o nº de visitantes ou seja no- index.php
coloque este código no local que você queira que ele apareça:
**<?php**
include("conta.php");
setcookie('var','entrou');
?>
Se alguem tiver criticas contrutivas ou não pode mandar.
Espero poder estar ajudando a alguem.
Jr. Web
Deus vós abençoe. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
tmferreira, será que voce pode me dar um ajudinha?
Como fazer a mesma coisa, só que gravando no mysql?
Obrigado!!
Acho que consegui!(pelo menos está funcionando)Ficou assim:
/*****Atulaliza o numero de visitas***/ $visitas = $dados["num_visitas"]; if (!(isset($_SESSION["ja_visitou"]))) { $visitas++; $sql3 = "UPDATE tb_usuarios SET num_visitas = '$visitas' WHERE usuario = '$nome'"; $re3 = mysql_query($sql3); $_SESSION["ja_visitou"] = TRUE; }
Qualquer erro, por favor me avise.
Boa tarde,Estou precisando de um sistema de contador de acesso que não incrementa quando o usuário atualiza, só incrementa outra visita se o cliente fechar o browser e abrir novamente. Verifiquei o código postado com exatamente o que estou precisando, porém está em PHP...existe alguma forma de colocar o código em uma página HTML, pois todas as páginas do meu site estão em HTML??
sergio achei interessante a forma como você adaptou o codido pra contar direto no banco, mas nao to conseguindo fazer ele rodar...a logica do contador ai eu entendi, mas como faco pra definir a $_SESSION['ja_visitou'] de modo que soh salve na primera vez a pessoa abri a pagina ??
O ideal é, antes de criar $visitou, verificar, com isset(), se $_SESSION['visitou'] já existe. Se sim, o cara já visitou e não é necessário incrementar o número. Caso contrário, é a primeira vez que o visitante acessa a página; nesse caso, incremente o número de visitas.
entendi beraldo mas cara, eu tenho um sistema de noticias aki q sao listadas na minha index, ai tenho que clicar na noticia pra abri ela inteira, agora te pergunto tem como definir diversas $_SESSION para cada noticia ??
Você pode definir $_SESSION['noticia1'], $_SESSION['noticia2'] etc.
Não sei se era bem isso que você queria saber. Se não for, abra um tópico no fórum principal de PHP, para não discutirmos algo não referente ao script inicialmente postado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
ai você ja tentou usar do seguinte modo:
$_SESSION['noticia[$id]'] //onde o $id é o id da noticia!?
acho q assim funciona..oO
É melhor criar este sistema baseado no numero de ip da maquina do que em cookies pois todos sabem que nem todas as pessoas abilitam o uso de cookies pelo navegador
Mas é preciso armazenar em algum lugar para poder realizar a consulta
Muito obrigado.