com cookie
Amigos tenho um script que é contador de visitas que já gera uma imagem do valor que vem do banco, só que é o seguinte até agora nunca usei cookie em minhas aplicações, resumindo não sei como fazer para que meu script não da update no valor (+ 1) a cada refresh do mesmo visitante, peço que fiquem a vontade para fazer que ele gere um cookie e so seja encrementado a cada 24horas
desde ja eu agradeço e fiquem a vontade para sugestões e modificações no código.
Abraços!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
<?php
// cores e dígitos
$cor_fundo = "preto";
$cor_fonte = "branco";
$cor_borda = "verde";
$digitos = 7;// dimensões do contador
$x = 54;
$y = 14;
// tamanho da fonte
$fonte = 3;
// define as margens
$margem_x = 3;
$margem_y = 0;
// chama função que retorna o próximo valor do contador
$contador = RetornaProximoValor($digitos);
// informa ao navegador o tipo de imagem que será retornada
header("Content-type: image/png");
// cria a imagem
$imagem = ImageCreate($x,$y);
// define as cores
$branco = ImageColorAllocate($imagem,255,255,255);
$preto = ImageColorAllocate($imagem,0,0,0);
$verde = ImageColorAllocate($imagem,0,255,0);
$vermelho = ImageColorAllocate($imagem,255,0,0);
$azul = ImageColorAllocate($imagem,0,0,255);
$amarelo = ImageColorAllocate($imagem,255,255,0);
// obtém o identificador das cores escolhidas
$cor_fundo = $$cor_fundo;
$cor_fonte = $$cor_fonte;
$cor_borda = $$cor_borda;
// desenha um retângulo com a cor do fundo
ImageFilledRectangle($imagem,0,0,$x,$y,$cor_fundo);
// desenha a borda
ImageRectangle($imagem,0,0,$x-1,$y-1,$cor_borda);
// escreve o valor atual do contador
ImageString($imagem,$fonte,$margem_x,$margem_y,$contador,$cor_fonte);
// Gera a imagem PNG a ser enviada ao navegador
ImagePNG($imagem);
// Libera a memória utilizada
ImageDestroy($imagem);
function RetornaProximoValor ($digitos){
require('conexao.php');
mysql_select_db ($banco);
$result = mysql_query("select * from contador");
$total = mysql_numrows($result);
if($total>0)
{
$valor = mysql_result($result,0,0);
$valor++;
$result = mysql_query("update contador set valor=$valor");
}
else
{
$valor=1;
$result = mysql_query("insert into contador values (1)");
}
mysql_close($conexao);
while (strlen($valor) < $digitos)
$valor = "0".$valor;
return $valor;
}
?>Discussão (2)
Carregando comentários...