Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17589
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Como verificar se o visitante acessou determinado link

16-01-2015 20:22

Nesse script que usa PHP e jQuery, mostro como fazer para saber se o usuário visitou determinada página, para depois que o usuário visitar a página, habilitar o botão ou link de download.

O script funciona da seguinte forma:

- A cada 3000 milissegundos, é feita uma requisição a uma página, a mesma que o usuário deve acessar para habilitar o botão de download.

- Quando o usuário clicar no link que deve visitar, vai mandar um código para o documento criando um cookie.

- Quando esse cookie estiver criado após a visita do usuário, a requisição do documento vai retornar o valor 1.
Com isso, o botão de download será habilitado, e após o visitante clicar no mesmo, irá iniciar a contagem regressiva de 10 segundos, após, exibirá uma mensagem de fim, que você pode substituir por outra coisa.

teste.html

<script src="jquery.js"></script>   <script> $(document).ready(function() {   // TEMPO EM MILISEGUNDOS DA ATUALIZAÇÃO // VERIFICANDO SE O USUÁRIO ACESSOU O LINK var tempo = 3000;   // VERIFICA A DIV DE RETORNO // SE OBTER 1 DA PÁGINA COOKIE.PHP, HABILITA O SUBMIT $(document).mouseover(function() { var valor = $('#documento').html(); if(valor==1) { document.getElementById("inicia").disabled=false; } });   function recarrega() {   setTimeout(function() { recarrega() },tempo);   jQuery.ajax({ type: "GET", url: "cookie.php", dataType: "html", data: "ref=contagem",   success: function(response){ $('#documento').html(response); }, error: function(){ alert("Ocorreu um erro durante a requisição"); } });   }   setTimeout(function() { recarrega(); },tempo);   }); </script>     <script> // BLOCO CONTAGEM REGRESSIVA // TEMPO EM SEGUNDOS PARA CONTAGEM REGRESSIVA var contador = 10; function conta() { document.getElementById("inicia").disabled=true; if(contador==0) { // QUANDO CHEGAR AO 0 O CONTADOR, CARREGA O CONTEÚDO ABAIXO alert('fim'); return false; } contador = contador-1; setTimeout("conta()", 1000); document.getElementById("valor").innerHTML = contador; } // BLOCO CONTAGEM REGRESSIVA </script>


<div id="documento" style="display:none;"></div> <input type="button" id="inicia" value="download" onclick="conta()" disabled="disabled"> <br /> Aguarde.... <span id="valor">10</span> <br /> <a href="cookie.php?code=1234" target="_blank">Visite esse link antes</a>

Observe que é mandado code com o valor 1234, esse código é importante para criar o cookie, informando que o usuário acessou o link. Você pode substituir por qualquer código que desejar, lembrando de usar o mesmo código no arquivo cookie.php

cookie.php

<?php if(isset($_GET['ref'])=="contagem") { if(isset($_COOKIE['cookies'])==$_SERVER['REMOTE_ADDR']) { echo "1"; } else { echo "0"; } } else { if(isset($_GET['code'])=="1234") { $tempo_cookie = "30"; // em segundos setcookie("cookies", $_SERVER['REMOTE_ADDR'], time()+($tempo_cookie)); } ?> CONTEÚDO QUALQUER <?php } ?>

O cookie irá durar por 30 segundos, esse é o tempo que o usuário tem para voltar a página onde está o botão de download antes que o cookie expire.
1
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]