Ir para conteúdo

Arquivado

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

newboxters

Selo (img./banner) com contador de cliques

Recommended Posts

Olá pessoal. Estou começando a divulgar um blog que criei e para isso eu tive a idéia de fazer um selo com contador, para que seja colocado nos blogs de meus amigos.

 

Eu também pensei em fazer um contador que mostra quantos cliques foram dados. O sistema que vou utilizar para isso será PHP e banco de dados MySQL, assim o script grava no banco de dados o site de onde veio o visitante e aproveita para gravar o ip do usuário e criar um cookie para não duplicar a contagem de visitas de uma mesma pessoa que veio de um mesmo site.

 

O IP não é necessário gravar no banco de dados, certo? Só criar uma session com o ip e outra session com o site de origem e identificar, enquanto o ip do usuário for o mesmo da session é porque já contou a visita vinda desse site.

 

E daí o cookie que eu crio terá a url do site de onde veio e tempo de duração bem longo (100 anos - rs), assim o usuário pode trocar de ip, mas se identificar que tem esse cookie, não vai contar de novo, certo? A menos que ele delete o cookie, mas aí tudo bem.

 

Então até aqui eu pensei tudo certo ou errei algo?

 

Continuando, depois das verificações, no banco de dados eu vou gravar o site de onde veio o visitante e pra contar eu dou um select * from tabela where site = $url_site

$url_site já será gravada no formato "site.com.br" (sem www nem / e o que vier depois, se não ia diferenciar visitas vindas de páginas específicas de um mesmo site, como www.site.com.br/secao1 ou se o usuário digitar www, já dá um replace para tirar)

 

E agora entra minha dúvida principal:

Como eu gero um código somente html (no máximo com um javascript) que possa ser colocado em qualquer site e que mostre a contagem de quantos cliques esse meu selo (de meu blog que ele está indicando) recebeu?

 

Ou seja, eu não vou poder usar nenhum código dinâmico php, até pq muitos blogs estão em servs. sem suporte a linguagem dinâmica. Acredito que isso seja possível fazer, só não sei como.

 

Exemplo:

"meublog.net" está sendo indicado (com esse selo-contador) em:

site1.com.br (onde 3 pessoas já clicaram), então nesse site1 irá exibir o selo com a mensagem: Indicou 3 pessoas

site2.com.br (onde 20 pessoas já clicaram), então nesse site2 irá exibir o selo com a mensagem: Indicou 20 pessoas

E assim vai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se o usuário não aceitar cookie, eu mesmo uso o firefox como padrao e ele ja faz isso por mim automaticamente, a cada entrada e saída, assim como eu muitos ja fazem isso. Na minha opnião é melhor voce achar uma outra forma de fazer o que voce ta querendo, não vou entrar mais em detalhes porque tou cansado de programar até amanhã.

 

:wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

E se o usuário não aceitar cookie, eu mesmo uso o firefox como padrao e ele ja faz isso por mim automaticamente, a cada entrada e saída, assim como eu muitos ja fazem isso. Na minha opnião é melhor voce achar uma outra forma de fazer o que voce ta querendo, não vou entrar mais em detalhes porque tou cansado de programar até amanhã.

 

:wacko:

"Acesso MT", pode ficar tranquilo, não estou preocupado se o usuário vai deletar os cookies, inclusive o meu sistema de contagem já está até concluído, e como eu informei, além da validação via cookie também há a validação por ip. E durante o desenvolvimento, eu acabei achando melhor gravar o ip no banco de dados e não em uma session simples. Claro que há formas mais perfeitas de fazer isso, como exigir cadastro em site, mas o foco do sistema não é esse, é só um sistema de contagens que evita contar muita coisa repetida, por isso verifica ip e cookie, "somente".

 

Mas a questão principal do meu post realmente é outra. É de como eu posso distribuir esse "selo dinâmico" para divulgarem meu blog e ter o contador de quantos clicaram.

 

Creio que terei que usar alguma lógica parecida com sistemas como esses: http://easy-hit-counters.com/

Eles geram todo sistema em php e com um simples código html começa a contar as visitas de um site. Entretanto, o meu não irá contar as visitas do site que colocou meu selo, mas sim os cliques que esse selo recebeu.

 

O problema é que não tenho a mínima idéia de que lógica é usada para isso. Cheguei a buscar bastante coisa na internet, entrei em detalhes sobre criação de API até, mas como era em outras linguagens como Ruby, então percebi que não era muito isso.

 

Bom, se alguém puder me dar uma ajuda, agradeço. Pelo menos um toque inicial. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, eu estive pesquisando mais sobre esse assunto, e o que eu preciso não seria um sistema semelhante também ao do feedBurner?

http://blogs.feedburner.com/feedburner/arc...or_everyone.php

 

Afinal quando a pessoa clica no selo de um site para ter acesso aos feeds (e confirma) o contador desse site conta +1 clique e grava essa nova estatística no banco de dados do feedBurner, e no site da pessoa exibe na img do feed (com um simples código html) a nova estatística referente a esse site, sem precisar de nenhum código dinâmico no site que está exibindo o selo.

 

Não é isso mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é... acho que o que você precisa é algo semelhante...

mas quem assina os feeds possuem uma aplicação para fazer a leitura.

Será que você também não vai precisar?

Sei lá cara... tá passando um monte de coisa na minha cabeça, mas não consigo te explicar. aehueahuae.

De uma forma bem idiota:

Quem assina feed tem uma aplicação pra gerenciar as notícias.

Creio que nessa aplicação exista algo que armazene os dados, ou pelo menos os códigos dos sites que desejam receber as atualizações.

Claro né?: Como é que o leitor de feed vai saber quais as notícias que devem ser exibidas? Como ele vai saber que ele tem que me mostrar as notícias de um blog ou portal específico?

 

A sua aplicação não vai necessitar de algo semelhante?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então AlterC, bem pensado essa sua sugestão. Mas o que eu acho que vai funcionar como "meio/forma" para gerenciar e conseguir identificar de qual site estará exibindo as estatísticas de indicação é a própria url do site.

 

Assim, o script identifica o endereço e faz um select no banco de dados contando todos os registros que tem, mas apenas desse determinado domínio. Mas não sei bem se é dessa forma ou se desse jeito é possível, afinal no site que será exibido o selo é só um código html e no máximo um código javascript.

 

Não sei se você chegou a dar uma olhada no meu tópico anterior ao que citei o feedburner, mas uma idéia também:

Creio que terei que usar alguma lógica parecida com sistemas como esses: http://easy-hit-counters.com/

O site exibe um código html simples e conta as visitas que recebeu, e cada site exibe certinho as visitas, sem nenhum leitor (como de feeds por exemplo). A única diferença é que o meu não conta visitas e sim cliques que o selo recebeu, ou seja, quantas vezes ele me indicou.

 

O que acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

provavelmente você vai ter que usar javascript então.

mas o lance é:

 

se ele vai pegar a url pra fazer a identificação e fazer um select no banco... você vai ter que fazer uma estrutura de validação de url.

por exemplo... se você entra em um blog você ve do lado um painel com vários banners de parceiros.

na página inicial você ve esse painel, bem como nas páginas dos posts.

 

tipo... o cara incluiu esse painel apenas uma vez, mas a url muda e eles estão lá.

você vai correr o risco de fazer uma contagem errada... porque a url de um site pode mudar, mas os banners ainda estarão lá.

 

deu pra entender mais ou menos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, claro. Foi o que eu disse em meu primeiro post:

$url_site já será gravada no formato "site.com.br" (sem www nem / e o que vier depois, se não ia diferenciar visitas vindas de páginas específicas de um mesmo site, como www.site.com.br/secao1 ou se o usuário digitar www, já dá um replace para tirar)

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pessoal, pesquisando mais durante essa semana, baixei vários scripts prontos, vi bastante coisa no hotscripts: demo, tutoriais e baixei alguns exemplos de contadores que achei que pudesse ser útil para mostrar a lógica, mas não encontrei nenhum tipo de contador para disponibilizar externamente, todos internos e isso eu já sabia.

 

Encontrei um modelo com iframes, mas achei completamente tosco e gambiarra total, afinal, ele simplesmente carrega na url do iframe o meu site como: www.meusite.com/sistema/contador.php?site=[dominio-do-site]

Daí esse do iframe é claro que funcionou, encontrei até uma versão melhorada desse só que sem iframes, usando ajax.

 

Bom, talvez o modelo com ajax (se é que pode chamar assim) se não tivesse um código javascript tão mal feito que só funciona no IE6, até pudesse ser uma boa idéia, afinal colocando o tal do código html simples no site do usuário que chama através de um javascript o endereço do contador no meu site com a url desse site, ele carrega/retorna o valor da pesquisa no meu banco de dados. Mas como é um modelo mal feito e do ano retrasado, por isso está cheio de problemas.

 

Então, o que vocês acharam disso? O mesmo que eu, que isso é uma gambiarra total? Ou será que podemos usar a idéia desse sistema em javascript para fazer algo melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Encontrei um novo script que é muito bom e se aproxima mais do que eu preciso:

http://www.eyesis.ca/projects.html?pjt=fwc

 

Afinal, é um script que permite você oferecer um serviço próprio de contador de visitas, bastando colocar no site de quem se registrou no serviço um código html que irá carregar uma imagem através de um arquivo php do site original do serviço.

 

Pelo menos a lógica agora deu pra mim entender, pois na verdade a imagem será gerada através de um arquivo php que será carregado diretamente de meus servidores (que tem suporte para linguagem), não precisando que outros sites tenham suporte a qualquer linguagem dinâmica, nem banco de dados.

 

Mas agora preciso da ajuda de vocês pra ver como eu posso adaptar esse script, para ao invés de contar as visitas quando carregar a imagem gerada pelo script, contar a visita somente ao clicar na "imagem" que levará ao meu site?

E também deixando a opção para exibir esse código sem a necessidade de se cadastra nesse sistema, pegando o endereço do site pelo domínio (ex.: "site.com.br" - sem http://www, nem o que vier a partir da / assim evita dividir a contagem em algo como "site.com.br/sub-page").

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também tenho interesse nesse sistema, mas meu objetivo seria fornecer um serviço mesmo, que além de ser contador de visitas é contador de cliques (de links).

 

Com o script que você achou: http://www.eyesis.ca/projects.html?pjt=fwc

Sem dúvida já mata 50% dos problemas, pois com isso já dá pra ter um serviço de contador de visitas.

 

Agora, tem que adaptar pra ele virar também um contador de cliques, no mesmo estilo, sendo necessário colocar somente um código html.

 

Para isso, eu já dou as sugestões de que:

1) terá que criar uma nova tabela no banco de dados, pra gravar o site de origem (com os filtros que você definiu);

2) alterar a estrutura para o arquivo não somar +1 ao carregar a página, e sim, após clicar, vai para um arquivo específico de seu site, que daí sim conta +1 no registro (caso já tenha o site inserido) ou cria um novo registro "1" se for a primeira indicação do site

3) modificar a maneira como é feito o select para pegar as informações do banco de dados e gerar a img. com base na quantidade de registros, pois agora passará a ser a quantidade de registros criados por um determinado endereço de site.

 

Será que esqueci de algo? Bom, basicamente deve ser isso. Acho que se todos compartilharem algumas idéias e códigos, dá pra sair um sistema bem legal, pois acho que pronto você não vai achar desse tipo.

Apesar que era pra ter viu, no hotscripts tem tanta coisa, será que se buscar por scripts de "serviço de banners" ou "serviço para gerenciar anúncios" (só que tudo com termos em inglês), é provável que você encontre um script que tenha uma parte com a função que conta cliques de um banner, daí só pegar e adaptar.

 

Mas eu particularmente, acho mais fácil fazer mesmo (utilizando a base do serviço de contador de visitas), pois assim fica exatamente do jeito que você quer e não é tão complicado assim, agora que você já entendeu a lógica do sistema, que gera uma imagem através de um arquivo .php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá carlosrms. Li tudo que você escreveu, todas as dicas e passo-a-passo resumidos, e fui tentando desenvolver nessa última semana, mas ainda não consegui.

 

Na verdade eu entendi perfeitamente tudo que você explicou, e concordo inclusive, é isso mesmo que eu quero fazer, mas meus conhecimentos em programação ainda são meio limitados e por isso estou encontrando grandes dificuldades em modificar esse script para ao invés de contar visitas, contar somente cliques e agrupar por sites (mesmo sem cadastro).

 

Eu já cheguei até a entrar em contato com o autor pra sugerir essa sua idéia, de fazer um script que fornecesse além do contador de visitas, também um contador de cliques, mas ele não respondeu ainda.

 

Enfim, será que alguém aqui no fórum com um pouco mais conhecimento do que eu não poderia ajudar a adaptar esse script para eu poder fazer o selo com contador de cliques (para o site que exibir esse selo/img/banner_de_meu_site) apareça nesse mesmo selo quantas pessoas já clicaram no selo. E as pessoas identificando por ip e por um cookie para dificultar a contagem de visitas duplicadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, desculpem minha insistência e certa demora para responder a este tópico, mas ainda não consegui fazer esse selo de indicação com contador na imagem. Será que é tão complicado assim, mesmo com o script pronto de modelo e com toda discussão que já fizemos?

 

A lógica do funcionamento eu até já entendi, mas tudo que eu tentei ao codificar a lógica no php deu erro, não foi bem sucedido.

 

Se alguém puder mostrar um código simples para eu criar esse contador na imagem já agradeço, assim pelo menos já ajuda para irmos melhorando o código.

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.