Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve salve Galera, até que enfim, depois de um ano, sobrou um tempinho e eu voltei a postar alguma coisa.
O sistema de estatísticas original está no site do IMASTERS nos dois links seguintes:
Se você não conhece o sistema, é interessante que entre nos links acima para se interar e assim entender o que estamos tratando aqui. Um sistema muito bom e completo por sinal, porem fiz algumas adequações a ele, pra se tornar mais econômico de recursos e também para abranger mais itens nas estatísticas.
A primeira mudança que fiz, foi migrar o banco de dados de ACCESS para MYSQL, com isso o banco se torna mais robusto e ágil.
Depois disso inseri um Java script para capturar a resolução da tela do internauta, uma vez que hoje a resolução 800/600, mais utilizada pelos desenvolvedores, não é a mais usada pelos internautas, a partir daí você pode saber qual a resolução mais adequada pra cada projeto. (Acrescentei ao banco a tabela resolucao)
No quesito Browser, declarei outros que estão sendo muito usados no momento.
Na referencia de onde o internauta vem, criei algumas condições, a primeira foi declarar quando o internauta digita o endereço e não clica em um link. No sistema original, cada nova visita criava um novo registro no banco, isso pode não parecer nada, mas para sites que tenham 10.000 por dia, são 10.000 diariamente no final do mês 300.000 e assim você segue contando. Com a condição que criei, verifico se aquela referência já existe, se sim, somo uma visita a ele, se não faço o insert. O numero de registros reduz drasticamente.
A mesma condição eu apliquei ao IP.
Ao final acrescentei o contador de visitas, ele insere um registro por dia, com isso posso contar as visitas da data atual, o total de visitas desde que o contador foi habilitado, fazer uma média, ou apresentar todos os registros.
Segue os códigos,
SQL do banco de dados
-- phpMyAdmin SQL Dump
-- version 2.11.0
--
-- Estrutura da tabela acessos
--
CREATE TABLE IF NOT EXISTS `acessos` (
`id` int(11) NOT NULL auto_increment,
`Data` varchar(10) NOT NULL,
`Acessos` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;
-- --------------------------------------------------------
--
-- Estrutura da tabela browsers
--
CREATE TABLE IF NOT EXISTS `browsers` (
`Id` int(11) NOT NULL auto_increment,
`Browser` varchar(255) default NULL,
`Acessos` int(11) default '0',
KEY `Id` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6;
--
-- Extraindo dados da tabela browsers
--
INSERT INTO browsers (Id, Browser, Acessos) VALUES
(1, 'Internet Explorer', 0),
(2, 'Firefox', 0),
(3, 'Opera', 0),
(4, 'Netscape', 0),
(5, 'Outro navegador', 0);
-- --------------------------------------------------------
--
-- Estrutura da tabela horas
--
CREATE TABLE IF NOT EXISTS `horas` (
`Id` int(11) NOT NULL auto_increment,
`Hora` varchar(50) default NULL,
`Acessos` int(11) default '1',
KEY `Id` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=25;
--
-- Extraindo dados da tabela horas
--
INSERT INTO horas (Id, Hora, Acessos) VALUES
(1, '0', 0),
(2, '1', 0),
(3, '2', 0),
(4, '3', 0),
(5, '4', 0),
(6, '5', 0),
(7, '6', 0),
(8, '7', 0),
(9, '8', 0),
(10, '9', 0),
(11, '10', 1),
(12, '11', 0),
(13, '12', 0),
(14, '13', 0),
(15, '14', 0),
(16, '15', 0),
(17, '16', 0),
(18, '17', 0),
(19, '18', 0),
(20, '19', 0),
(21, '20', 0),
(22, '21', 0),
(23, '22', 0),
(24, '23', 0);
-- --------------------------------------------------------
--
-- Estrutura da tabela hosts
--
CREATE TABLE IF NOT EXISTS `hosts` (
`Id` int(11) NOT NULL auto_increment,
`Host` varchar(255) default NULL,
`Acessos` int(11) NOT NULL,
KEY `Id` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=14;
-- --------------------------------------------------------
--
-- Estrutura da tabela meses
--
CREATE TABLE IF NOT EXISTS `meses` (
`Id` int(11) NOT NULL auto_increment,
`Mes` varchar(50) default NULL,
`Acessos` int(11) default '1',
KEY `Id` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=13;
--
-- Extraindo dados da tabela meses
--
INSERT INTO meses (Id, Mes, Acessos) VALUES
(1, 'Janeiro', 0),
(2, 'Fevereiro', 0),
(3, 'Março', 0),
(4, 'Abril', 0),
(5, 'Maio', 0),
(6, 'Junho', 0),
(7, 'Julho', 0),
(8, 'Agosto', 0),
(9, 'Setembro', 0),
(10, 'Outubro', 0),
(11, 'Novembro', 0),
(12, 'Dezembro', 0);
-- --------------------------------------------------------
--
-- Estrutura da tabela referencias
--
CREATE TABLE IF NOT EXISTS `referencias` (
`Id` int(11) NOT NULL auto_increment,
`Referencia` varchar(255) default NULL,
`Acessos` int(11) default '0',
KEY `Id` (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11;
-- --------------------------------------------------------
--
-- Estrutura da tabela resolucao
--
CREATE TABLE IF NOT EXISTS `resolucao` (
`id` int(11) NOT NULL auto_increment,
`Resolucao` varchar(16) NOT NULL,
`Acessos` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;
--
-- Extraindo dados da tabela resolucao
--
INSERT INTO resolucao (id, Resolucao, Acessos) VALUES
(1, '640x480', 0),
(2, '800x600', 0),
(3, '1024x768', 0),
(4, 'Outra Resolução', 0);
Config.asp
<%
strConnection = "driver={MySQL ODBC 3.51 Driver}; server=seu_server; uid=seu_usuario; pwd=sua_senha; database=seu_banco;option=NUM"
set db = Server.CreateObject("ADODB.Connection")
db.Open strConnection
%>
Índex.asp
<%
RESOLUCAO = REQUEST.QUERYSTRING("resolucao")
IF RESOLUCAO = "" THEN %>
<script language="JavaScript">
switch(screen.width){
case 640:
location="?resolucao=640";
break;location="?resolucao=800";
break;location="?resolucao=1024";
break;location="?resolucao=1152";
break;location="?resolucao=1280";
break;
}
</script>Peço desculpas ao Gustavo Faelli pois não pedi autorização para tais mudanças, fiz, partindo do pressuposto que o código seria livre. Caso fira direitos autorais ou regras do Forum, por favor deletem este tópico.
Cido Silva
Desenvolvimento de sites, softwares e aplicações para web
Carregando comentários...