Paginas

quarta-feira, 12 de junho de 2013

Criar Contador de Acessor usando PHP



É considerado único pelo fato de contar os acessos por IP e por ter infinidade de uso.
Este tutorial não ilustra como se cria banco de dados, usuários, privilégios, tabelas.

Requerimentos:
- Conhecimento básico em html,mysql,php.
- Servidor Apache (ou similar).
- Interpretador PHP.
- Servidor MySQL.

Bom darei inicio ao tutorial, espero que faça um bom aproveito do mesmo.





<?php
// Contador de acessos páginas

// Criar conexão
$conexao = mysql_connect("localhost", "usuário_db", "senha_db");

// Verificar a conexão
if (!$conexao) {
die("Impossível conectar ao banco de dados: " . mysql_error()); // terminar o processo e imprimir a mensagem de erro
}

// Selecionar o tipo de charset
// Nota: Não é necessário selecionar o charset eu apenas adicionei para prática

mysql_set_charset('utf8',$conexao); // definir o tipo de charset a ser utilizado antes da conexão

// Selecionar o banco de dados a ser utilizado
$selecionar_db = mysql_select_db("contador" ,$conexao);

// Verificar se o banco de dados existe
if (!$selecionar_db) {
die("Falha ao selecionar o banco de dados: " . mysql_error()); // terminar o processo e imprimir a mensagem de erro
}

// Pegar a página

$pagina = $_SERVER["PHP_SELF"];

// Capturar o resto da url se necessário
// Nota: busca por url mais complexas exemplo: pagina.php?cat=categoria&pag=2

if (isset($_SERVER["QUERY_STRING"])) {
$pagina .= "?" . $_SERVER["QUERY_STRING"];
}

// Capturar o IP do usuário

$ip = $_SERVER["REMOTE_ADDR"];

// Verificar se o IP do usuario existe no banco de dados

$consulta = "SELECT * FROM acessos ";
$consulta .= "WHERE pagina = '" . $pagina . "' ";
$consulta .= "AND ip = '" . $ip . "'";
$resultado = mysql_query($consulta, $conexao);

// Verificar se existe algum registro, se não existir adicionar novo registro

if (mysql_num_rows($resultado) == 0) {
$consulta = "INSERT INTO acessos ";
$consulta .= "(pagina,ip) ";
$consulta .= "VALUES ('" . $pagina . "', '" . $ip . "')";
$resultado = mysql_query($consulta, $conexao);

}

// Capturar o número de acessos de cada página
$consultar = "SELECT * FROM acessos ";
$consultar .= "WHERE pagina = '" . $pagina . "'";
$resultado = mysql_query($consultar, $conexao);

$acessos = mysql_num_rows($resultado);

// Imprimir o resultado

echo "(" . $acessos . ") acessos.";

// Fim do contador de acessos

?>

Nenhum comentário:

Postar um comentário