Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Vida

[Resolvido] Contador de visitas em modo local.

Recommended Posts

Boa tarde a todos. Estou necessitando fazer um contador de visitas simples, no caso estou usando a ideia do bloco de notas (posteriormente vou implementar um bd). Dai fiz o código que funciona tranqüilamente na web, aonde possuo um dominino. Porém essa aplicação vai rodar de forma local, mas quando eu executo pelo wamp, não armazena o acesso a página. Creio que o problema seria a permissão de escrita do WAMP, porém não sei aonde modificar! Alguém tem alguma sugestão?

 

<?
$arquivo = "contador2.txt"; 
if(file_exists($arquivo)) 
{
	$fd = fopen($arquivo, "r");
	$valor_atual = chop(fgets($fd));
	fclose($d);
	$valor_atual++;
}
else 
	$valor_atual = 1;
	$ponteiro = fopen($arquivo, "w");
	fwrite($ponteiro, $valor_atual);
	fclose($ponteiro);
?>

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi..

se o arquivo existir:

if(file_exists($arquivo))
você não escreve nada nele?

 

E o bloco de baixo? faltou um {} ?

else { 
        $valor_atual = 1;
        $ponteiro = fopen($arquivo, "w");
        fwrite($ponteiro, $valor_atual);
        fclose($ponteiro);
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Willian,

 

Esse exemplo eu tirei do livro do Juliano Niederauer e ele foi escrito assim mesmo, no caso meu servidor é Linux, como estou rodando no Wamp(em windows) pode ser alguma função que funcione apenas no sistema operacional linux??? Fiz complemento que me sugeriu e não funcionou.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigão, tenta esse aqui, é mais simples:

 

$fname = 'contador'; //Nome do arquivo do contador
$total = 0; //Total de visitas

file_put_contents( $fname , $total = ( file_exists( $fname ) ? (int) file_get_contents( $fname ) : 0 ) + 1 );

echo $total; //Vai mostrar progressivamente o número de visitas

Compartilhar este post


Link para o post
Compartilhar em outros sites

dei uma lida rapida, se nao for isso me perdoe :(

 

contador php + txt

 

crie um arquivo chamado contador.txt.

 

e coloque isso no contador.php

<?
$arq = "contador.txt";

$abre = fopen($arq, "r");
$total = fread($abre, filesize($arq));
fclose($abre);

$abre = fopen($arq, "w");
$total = $total + 1;
$salva = fwrite($abre, $total);
fclose($abre);

echo $total;
?>

pra incluir na pagina:

 

include "contador.php";

 

encontrei isso faz tempo no faq da uol host...até hoje me serve :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos!

 

Tentei fazer dessas duas maneiras, porém não deu mesmo. =/

 

Não sei se estou fazendo algo errado, mas meu servidor wamp fica todo ligado, caso alguem tenha ele na máquina e se puder testar esses codigos por favor e ve se dar, pois teoricamente era para dar certo...hehehe. Estou usando ma versão 2.0.

 

Obrigado

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria uma tabela VISITAS no seu banco de dados com um campo: NUMERO_VISITAS e deixa ele com valor 0 Inicialmente.(Insira)

Depois...

Cria um arquivo chamado contador.php


// Faz a Conexao com o Banco
.
.
.
// Faz o Update
$sql = "UPDATE VISITAS SET NUMERO_VISITAS = VISITAS + 1";
$exe = mysql_query($sql);

// Faz o Select
$query = "SELECT NUMERO_VISITAS FROM VISITAS";
$exe_query = mysql_query($query);

$total_visitas = mysql_result($exe_query,0,'NUMERO_VISITAS');

Depois em toda página que você quiser que seja contada uma visita, você coloca

include 'contador.php';

E para mostrar o Número de visitas em qualquer lugar da página só colocar:

echo $total_visitas;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, ainda não deu! =/

 

olhas só como está meu codigo!

 

<?php // Faz a Conexao com o Banco
mysql_connect("localhost","root","");
mysql_select_db("contador");
// Faz o Update
$sql = "UPDATE VISITAS SET NUMERO_VISITAS = VISITAS + 1";
$exe = mysql_query($sql);

// Faz o Select
$query = "SELECT NUMERO_VISITAS FROM VISITAS";
$exe_query = mysql_query($query);

$total_visitas = mysql_result($exe_query,0,'NUMERO_VISITAS'); ?>

<? echo $total_visitas; ?>

só que a pagina fica em branco e não contabiliza o acesso. Criei a tabela como sugeriu, só que coloquei o campo como varchar...tem que ser como int?

 

Desculpa qualquer coisa, estou começando a aprender bd agora..hhehehe

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que ser INT. Não é NUMERO ? Então é INT.

 

Enfim... antes de você dar Update você tem que ter um valor para o campo certo ?

Insira manualmente um 0 ou 1 nesse campo. E tente novamente.

 

E desculpa, eu errei o UPDATE...

É assim:

 

$sql = "UPDATE VISITAS SET NUMERO_VISITAS = NUMERO_VISITAS + 1";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dee consegui fazer com esse codigo de BD, porem deve se fazer uma correção.

 

// Faz o Update
$sql = "UPDATE VISITAS SET NUMERO_VISITAS = VISITAS + 1";
$exe = mysql_query($sql);

Deve ficar assim.

 

// Faz o Update
$sql = "UPDATE VISITAS SET NUMERO_VISITAS = NUMERO_VISITAS + 1";
$exe = mysql_query($sql);

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa Dee!

 

Não vi que você havia postado novamente, pois estava escrevendo a resposta em quanto você havia postado...hehe!

 

Valeu de mais cara! Brigadão mesmo!

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.