Contador de visitas

douradex

Power Member
Boas!


Alguém tem por aí sugestões para como fazer um contador de visitas?

Programas, formas de programar,etc...

Mas não pretendo sites que nos fascultem contadores. Gostava de poder construi-lo e ter acesso à gestão desse contador, para poder fazer estatísticas.
 
Presumo que seja para pores numa pagina de internet... nesse caso deverias ter usado o sub-forum a baixo deste.

Podes usar ficheiros em php e escreveres o numero de vistas num ficheiro txt, e ele incrementa sempre uma visita cada vez que a pagina e aberta, ou podes usar uma base de dadosonde armazenas o numero de visitas e utilizas o mesmo processo.

Um exemplo de um contador feito com ficheiros:
PHP:
<?
if (file_exists('visitas.txt'))
	{
		$ficheiro = fopen('visitas.txt', 'r');
		$visitas = fgets($ficheiro, 100);
		$visitas++;
		fclose($ficheiro);
	}
	else
	{
		$visitas = 1;
	}
	$ficheiro = fopen('visitas.txt', 'w');
	fputs($ficheiro, $visitas);
	fclose($ficheiro);
	print($visitas);
?>

Se quiseres uma solução com base de dados tambem te posso meter aqui um exemplo.
 
Última edição:
DarTaKaum disse:


trincos=locks... gestão de concorrência no acesso ao ficheiro onde reside a persistência da "aplicação". Os SGBD's gerem isto automaticamente, esse é um dos bons aspectos no uso de uma BD como camada persistente.
 
PHP + Mysql


Dim MyConn

Set MyConn = Server.CreateObject("ADODB.Connection")

MyConn.Open "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=pagina;" _
& "UID=user;" _
& "PWD=password"


dim ip, hoje, num_visitas

hoje = cstr(now)
hoje = split(hoje, " ")(0)
dim arr

arr = split(hoje, "/")

if ubound(arr,1) = 2 then
hoje = arr(2) & "-" & arr(0) & "-" & arr(1)
end if


ip = Request.ServerVariables("REMOTE_ADDR")

sql = "SELECT * from counter where ip = '" & ip & "' and data = '" & hoje & "'"

Set RS = MyConn.Execute(SQL)
IF RS.EOF THEN

sql = "INSERT INTO counter VALUES('" & ip & "', '" & hoje & "', 1)"

ELSE

sql = "UPDATE counter SET num_paginas = num_paginas + 1 WHERE ip = '" & ip & "' and data = '" & hoje & "'"

END IF

RS.close
Set RS = Nothing

MyConn.Execute(SQL)


Isto cria visitas únicas com base no IP e actualiza o nº de visualizacoes diárias.

Se precisares de ajuda sobre como ler a base de dados para construires as estatisticas podes mandar MP.
 
Back
Topo