Aqui você verá artigos sobre PHP
Moderador: web
por web Offline » Sáb Fev 24, 2007 3:34 pm
|
|
Vou passar aqui um script de contador de clicks em um link. Siga os passos:
1º No diretório raiz que vai rodar o contador, crie uma pasta de nome: dados/ e dê permissão (CHMOD) 777, nesta pasta vão ficar os arquivos com a contagem.
2º Copie o código abaixo e coloque no diretório raiz como: click.php - arquivo que conta os clicks e redireciona para o url -
- Código: Selecionar todos
<?php extract($_GET);
//arquivo $base="dados/".$url.".dat";
if($_COOKIE['oip']=="") { $tempo_cookie = "10"; // tempo em segundos - 60 para um minuto $ip = $_SERVER['REMOTE_ADDR']; // pega o IP setcookie("oip", $ip, time()+($tempo_cookie)); // cria o cookie
// cria if(!file_exists("$base")) { $fp=fopen("$base","w"); fputs($fp,"0"); fclose($fp); }
$fp=fopen("$base","r+"); $nb=fgets($fp,10); $nb++; fseek($fp,0); fputs($fp,$nb); fclose($fp);
} else {
//echo $_COOKIE['oip'];
} ?>
<meta http-equiv="refresh" content="0;URL=http://<?=$url;?>" />
3º Copie o código abaixo e coloque no diretório raiz como: mostra_clique.php - arquivo que mostra o número de clicks que o link recebeu -
- Código: Selecionar todos
<?php extract($_GET); $base=str_replace ("/", "_", "$url"); $base="dados/".$base.".dat"; $nb=0; if(file_exists("$base")) { $fp=fopen("$base","r"); $nb=fgets($fp,4096); fclose($fp); } echo "document.write(\"$nb\");"; ?>
4º Copie o código abaixo e coloque no diretório raiz como: admin.php - arquivo de administração do contador, onde você deleta os clicks -
- Código: Selecionar todos
<?php extract($_GET);
/* senha de permissão para limpar contador */ $passwd="123456"; ?> <center> números de clicks <br> <br> <? switch($action) { case "sup"; echo "deseja deletar todo o contador? <b>$fic</b> <br> <a href='admin.php?action=supsuite&fic=$fic'>sim</a> <a href='admin.php'>não</a>\n"; break;
case "supsuite"; echo "<form action='admin.php' method='GET'> <input type='hidden' name='action' value='supfin'> <input type='hidden' name='fic' value='$fic'> senha de administrador: <input type='text' name='passe' value=''> <input type='submit' value='Continuar'>\n"; break;
case "supfin"; if($passe==$passwd) { unlink("dados/${fic}.dat"); echo "o contador <b>$fic</b> foi resetado!\n"; } else { echo "senha do administrado inválida.\n"; } echo "<br><br><a href=\"admin.php\">retornar</a>\n"; break;
default; if(!file_exists("dados")) { echo "<font id=font>Erro!"; } else { echo "<table border='0' cellpading=1 cellspacing=1 style='border:1px solid #fefefe;'> <tr> <td>Endereços</td> <td>número de Clicks</td> <td>Reiniciar Contador</td> </tr>"; $handle=opendir("dados"); while($fichier=readdir($handle)) { if($fichier!="." && $fichier!="..") { $file=fopen("dados/$fichier","r"); $nb=fgets($file,10); fclose($file); $url=str_replace("_","/",$fichier); $url=str_replace(".dat","",$url); echo "<tr> <td><a href='http://$url' target='_blank'>http://$url</a></td> <td align=center>$nb</td> <td align=center><a href='admin.php?action=sup&fic=$url'>Deletar</a></td> </tr>"; } } closedir($handle); } break; } ?> </table>
5º veja um exemplo abaixo de como devem ser seus links:
- Código: Selecionar todos
<a href="click.php?url=www.codigosnaweb.com" target="_blank">codigosnaweb.com</a> Já teve: <script language="javascript" src="mostra_clique.php?url=www.codigosnaweb.com"></script> clique(s) <br> <a href="click.php?url=www.google.com" target="_blank">google.com</a> Já teve: <script language="javascript" src="mostra_clique.php?url=www.google.com"></script> clique(s)
<br><br>
<?php if(isset($_COOKIE['oip'])) { echo "O cookie existe"; } else { echo "O cookie já não existe ou não foi criado"; } ?>

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por web Offline » Seg Nov 02, 2009 7:20 pm
O script sofreu algumas alterações para que pudesse ser usado com links internos, com pastas e documentos
O click.php agora é o seguinte:
- Código: Selecionar todos
<?php ob_start(); extract($_GET); $redireciona = "$url"; $url= str_replace("://", "-", $url); $url= str_replace(".", "-", $url); $url= str_replace("/", "-", $url); //arquivo $base="dados/".$url.".dat"; if($_COOKIE['oip']=="") { $tempo_cookie = "10"; // tempo em segundos - 60 para um minuto $ip = $_SERVER['REMOTE_ADDR']; // pega o IP @setcookie("oip", $ip, time()+($tempo_cookie)); // cria o cookie // cria if(!file_exists("$base")) { $fp=@fopen("$base","w"); @fputs($fp,"0"); @fclose($fp); } $fp=@fopen("$base","r+"); $nb=@fgets($fp,10); $nb++; fseek($fp,0); fputs($fp,$nb); fclose($fp); } else { //echo $_COOKIE['oip']; } ?> <meta http-equiv="refresh" content="0;URL=<?php echo $redireciona; ?>" />
No arquivo que vai ter o click e a mostragem dos clicks recebidos, você deve seguir esse modelo
- Código: Selecionar todos
<a href="click.php?url=http://www.codigosnaweb.com/teste.php" target="_blank">codigosnaweb.com</a> Já teve: <script language="javascript" src="mostra_clique.php?url=http-www-codigosnaweb-com-teste-php"></script> clique(s)
Note que o valor passado no click, é o URL comum. Já no mostra_clique.php, deve ser passado o valor trocando
:// por - "traço" e / e . por - "traço"

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb [@] hotmail [.] com
web
ADMIN
Mensagens: 11904
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para Artigos sobre PHP
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante
|
|
|