Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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..#
############################
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";
?>>
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?
>
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?
http://forum.imasters.com.br/topic/340505-contador-de-visitas-unicas-por-ip-utilizando-arquivo-txt/
obrigado conseguir fazer com esse, só que pelo oque eu vi no codigo, se eu acessar amanha o site ele irá contar novamente? parece que nao
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.
>
É só comparar com a data corrente.
Se já houver registro para o IP X na data de hoje, não conta uma nova visita.
com a data corrente, seria new.date e old.date,assim?
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
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
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/