Ir para conteúdo

POWERED BY:

Arquivado

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

marlos trinidad

contador de visitas por ip

Recommended Posts

Ola boa Tarde estou com esse contador que é muito bom achei na net, mas toda vez que atualiza ele conta, to basico em php, como faço para incrementar esse codigo para contar por ip e por tempo? assim só conta 1 a cada 24 horas por ip preciso ter um controle real de quantos visitas recebo por dia

 

esse é o arquivo contador.php

<?php

############################

#....Script Criado Por:....#

#......Neander Araújo......#

#..neander@eumesmo.com.br..#

#http://www.eumesmo.com.br/#

############################

 

include "conf.inc";

//Se caso aparecer o erro: Notice: Undefined variable: area in ... ...\contador.php on line 11

//Tire o comentário abaixo:

//global $area;

if((!defined($area)) && ($area=="")){

$area = "Indefinidos";

}

//Define Formato Data

$data=date('Y-m-d');

$result = mysql_query("SELECT * FROM contador WHERE area='$area'",$conexion);

$row = mysql_fetch_row($result);

//Se Nao Existir o Nome da Área Na Base Ele Cria

if ($row[0] != $area) {

mysql_query("INSERT INTO contador (area, data, acessos) VALUES('$area','$data','1')",$conexion);

}

//Do contrário ele só faz a inclusão do contador

else {

$cont = $row[2];

$contnew = $cont + 1;

mysql_query("UPDATE contador SET data = '$data', acessos = '$contnew' WHERE area = '$area'",$conexion);

}

 

?>

arquivo conf.inc

$mysql_usuario="usuario"; //Usuario da base de dados

$mysql_password="senha";//Senha da base de dados

$mysql_database="nomedabase";//Nome da base de dados

$mysql_host="localhost";//Host de sua base de dados, Ex:Localhost

$conexion = mysql_connect($mysql_host, $mysql_usuario, $mysql_password);

mysql_select_db($mysql_database, $conexion);

#----------Funçao Data----------------------------

$s = date("D");

$m = date("n");

$dia = date("d");

$ano = date("Y");

$semana = array("Sun" => "Domingo", "Mon" => "Segunda", "Tue" => "Terça", "Wed" => "Quarta", "Thu" => "Quinta", "Fri" => "Sexta", "Sat" => "Sábado"); /* Dias da Semana. */

$mes = array(1 =>"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"); /* Meses */

$formatodata="d/m/Y";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quer calcular as visitas por dia, basta incluir um campo a mais na tabela, do tipo DATE, para armazenar a data da visita.

Na hora de contar, filtre pela data na cláusula WHERE

 

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quer calcular as visitas por dia, basta incluir um campo a mais na tabela, do tipo DATE, para armazenar a data da visita.

Na hora de contar, filtre pela data na cláusula WHERE

 

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

pensei nisso, mas acredito que envolva IP porque se uma pessoa ja acessou hoje, outra nao vai conseguir porque ja tem aquela data no bd, e commo seria iria comparar data antiga com a nova? seria do tipo old.date =! new.date?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quer calcular as visitas por dia, basta incluir um campo a mais na tabela, do tipo DATE, para armazenar a data da visita.

Na hora de contar, filtre pela data na cláusula WHERE

 

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

pensei nisso, mas acredito que envolva IP porque se uma pessoa ja acessou hoje, outra nao vai conseguir porque ja tem aquela data no bd, e commo seria iria comparar data antiga com a nova? seria do tipo old.date =! new.date?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pensei nisso, mas acredito que envolva IP porque se uma pessoa ja acessou hoje, outra nao vai conseguir porque ja tem aquela data no bd, e commo seria iria comparar data antiga com a nova? seria do tipo old.date =! new.date?

É só comparar com a data corrente.

Se já houver registro para o IP X na data de hoje, não conta uma nova visita.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não.. no caso eles estão falando de um simples if

<?Php

if($data == date()){

// se for igual a data de hoje não faz nada

}else{

// se for diferente da data de hoje faz algo 
} 

:huh: simples

Compartilhar este post


Link para o post
Compartilhar em outros sites

com a data corrente, seria new.date e old.date,assim?

Tudo depende de onde será feita a comparação.

Se for na query, use as Funções de Data/Hora do MySQL

Se for no PHP, use as Funções de Data/Hora do PHP ou a classe DateTime

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.