Demaso 0 Denunciar post Postado Junho 18, 2005 Galera, tô com o seguinte problema! Estou usando um contador na minha página e ele não registra visita por IP. Ou seja, se eu tiver na página e der um F5, ele vai adicionar 1 visita no contador. Quero que isso não aconteça... Na página onde quero que ele "pegue" a visita e some é a prinpal, e eu adicionei o seguinte código nela: PHP [*]$area = "Principal"; [*]include "contador/contador.php"; A página contador.php tem o seguinte código: PHP [*]include "contador/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); [*]} Alguém sabe qual comando devo adicionar pra ele registrar a visita por IP ?? Abraços!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Junho 19, 2005 Lógica simples...Para não repetir uma informação: verifique se já existe. Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 19, 2005 Mas como? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Junho 19, 2005 você pode fazer o seguinte, você pode fazer o seu contador gravar um cookie na máquina do usuário com expiração no termino do dia.. dai quando o usuario entrar na página ou der um F% você verifica se o cookie existe ou naum.... Eu acho melhor isso dko por IP, que o IP você teria que gravar em um banco os IPs e dai verifica se akele IP jah existe e seu banco teria que ser apagado todos os dias os IPs... e tem mais um problema com o IP, se o povo estiver numa faculdade e mais gente estiver entrando no seu site, vai contar como 1 soh registro.... Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 19, 2005 Tá certo, gostei da idéia do cookie... Mas eu não sei fazer isso... Tem como cê me mostrar como faz? Valeu!!! Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 22, 2005 Alguém sabe como fazer ou onde posso encontrar algo a respeito? Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Junho 23, 2005 Cria o cookie setcookie ("TestCookie", $value,time()+3600); TestCookie = Nome do cookie $value = Valor do cookie time()+3600 = Tempo para o cookie expira (em minutos), co caso ai expira em uma hora. 3600*24*365 - Expira em um anos (uma hora x 24 horas (um dia) x 365 dias) Restringir acesso somente para quem tem o cookie if ($_COOKIE["nomedocookie"]){ // Logado }else{ // Impedido } Imprimindo o valor de um cookie na tela Se a pessoa logar no sistema com usuario e senha, e o valor do cookie for o nome dela. ex: $nome = "Nícolas"; setcookie ("login", $nome,time()+3600); echo $_COOKIE["login"]; // Imprime Nícolas na tela Destruindo um cookie Para apagar o cookie basta fazer a mesma coisa feita para criar mais usar um valor negativo igual ou superior ao utilizado para cria-lo Destruido o cookie login setcookie ("login", $nome,time()-3600); Agora se coloco echo $_COOKIE["login"]; // Não imprime nada Flw ai cara espero ter ajudado Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 24, 2005 E aí cara! Valeu pela resposta... Bom, tentei usar minha burra lógica aqui e não consegui... Bom, criei uma nova tabela: CREATE TABLE `contador_cookie` ( `area` varchar(60) NOT NULL default '0', `data` datetime NOT NULL default '0000-00-00 00:00:00', `acessos` int(11) NOT NULL default '0', PRIMARY KEY (`area`) ) TYPE=MyISAM; Aí na página do contador, coloquei o seguinte código: PHP [*]if ($_COOKIE["ContadorIPCI"]){ [*] //nada acontece [*] }else{ [*] $cont = $row[2]; [*] $contnew = $cont + 1; [*] mysql_query("UPDATE contador_cookie SET data = '$data', acessos = '$contnew'",$conexion); [*]} [*]setcookie ("ContadorIPCI", $value,time()+3600); //Cria o cookie Mas ele não tá contando uma visita a cada uma hora como deveria e sim de "F5 em F5"... Você sabe o que que pode tá acontecendo? Abraços... :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Junho 24, 2005 Quase isso, tenta assim PHP [*]if ($_COOKIE["ContadorIPCI"]){ [*]// Entra no site sem contagem [*]}else{ [*]$dados = mysql_query("SELECT * FROM contador_cookie'",$conexion); [*]$linha = mysql_fetch_row($dados); [*] [*]$valor = "Visitante"; [*]setcookie ("ContadorIPCI", $valor,time()+3600); [*] [*]$cont = $linha[3]; [*]$contnew = $cont + 1; [*] [*]$atualiza = mysql_query("UPDATE contador_cookie SET acessos = '$contnew'",$conexion); [*]} Ai cara, eu tirei o update data pq não tem string de data pra atualizar, qualquer coisa se adiciona ai da sua maneira, oq fiz ai foi fazer uma pesquisa no bd, criar o cookie e gravar as atualizações, tenta ai http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Nícolas 4 Denunciar post Postado Junho 24, 2005 Calma ai, que id seria esse?? porque pra atualizar os dados precisa adicionar where id!!!!E pra pesquisar tb, pois ele não ta fazendo loop para pesquiar sem o where Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 24, 2005 Vou tentar aqui cara, sobre o que você disse, é que só coloquei aquela parte da página... A página toda ficou assim: PHP [*]include "contador/conf.inc"; [*] //Se caso aparecer o erro: Notice: Undefined variable: area in ... ...\contador.php on line 11 [*] //Tire o comentário abaixo: [*] //global $area; [*]//Define Formato Data [*]$data=date('Y-m-d'); [*]$result = mysql_query("SELECT * FROM contador_cookie WHERE area='Principal'",$conexion); [*]$row = mysql_fetch_row($result); [*]//Se Nao Existir o Nome da Área Na Base Ele Cria [*]if ($_COOKIE["ContadorIPCI"]){ [*] //nada acontece [*] }else{ [*] $cont = $row[2]; [*] $contnew = $cont + 1; [*] mysql_query("UPDATE contador_cookie SET data = '$data', acessos = '$contnew'",$conexion); [*]} [*]setcookie ("ContadorIPCI", $value,time()+3600); //Cria o cookie Compartilhar este post Link para o post Compartilhar em outros sites
Demaso 0 Denunciar post Postado Junho 24, 2005 Cara, parece que agora deu... Olha só o código como ficou e vê se tem algo errado: PHP [*]include "contador/conf.inc"; [*]if ($_COOKIE["ContadorIPCI"]){ [*]// Entra no site sem contagem [*]}else{ [*]$data=date('Y-m-d'); [*]$result = mysql_query("SELECT * FROM contador_cookie WHERE area='Principal'",$conexion); [*]$row = mysql_fetch_row($result); [*] [*]$valor = "Visitante"; [*]setcookie ("ContadorIPCI", $valor,time()+3600); [*] [*]$cont = $row[2]; [*]$contnew = $cont + 1; [*]mysql_query("UPDATE contador_cookie SET data = '$data', acessos = '$contnew'",$conexion); [*]} Valeu!! Abração!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites