Codice PHP:
<?php
//Mette i dati nel DB e aumenta il contatore ad ogni visita
function contatore($pagina) {
//RICORDA di memorizzare l'url cookie.php +invio IN TUTTI I BROWSERs
if (empty($_COOKIE["contavisite"])) { //Richiama il cookie che c'è in cookie.php
$continua = false;
if (isset($_SERVER['HTTP_REFERER']) != "") {
$from = parse_url($_SERVER['HTTP_REFERER']);
$from = $from['host'];
}
else {
$from = "";
}
$whitelist = array(
/*Qui scrivi l'url del mio sito in modo che quando l'utente vi arriva DA TERZI, anche se digita url +pagine, il contatore non sale.
Se poi è nel mio sito e ci clicca su, ovviamente il contatore nel db sale*/
"www.gruppoalveo.it", //Scrivi gli url senza http://
"gruppoalveo.it",
"www.gruppoalveo.altervista.org",
"gruppoalveo.altervista.org"
);
foreach ($whitelist as $sito) {
if ($from == $sito) $continua = true;
}
function isBot()
{
$ip = $_SERVER['REMOTE_ADDR'];
$agent = "googlebot version 66";
$bot = array(
"googlebot",
"yahoo",
"192.66.1."
);
foreach ($bot as $item)
{
if ( stripos($agent, $item) > -1 )
{
return TRUE;
}
if ( stripos($ip, $item) > -1 )
{
return TRUE;
}
}
return FALSE;
}// fine funzione
if ( isBot() )
{
die("è un bot!");
}
else {
if ($continua) {
$data_localeS=time();
$mysqli = new mysqli("localhost", "gruppoalveo", "root", "my_gruppoalveo");
$giorno=array('Dom','Lun','Mar','Mer','Gio','Ven','Sab');
$mese=array('gen','feb','mar','apr','mag','giu','lug','ago','set','ott','nov','dic');
$dataGmtS=$giorno[date('w')].' '.date('d').' '.$mese[date('m')-1].' '.date('Y - H:i:s');
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['PHP_SELF'];
$esiste = $mysqli->query ("SELECT * FROM visitate WHERE url='$url'");
if ($esiste->num_rows == 0) {
$visite = 1;
$mysqli->query ("INSERT INTO visitate(data_localeS, dataGmtS, pagina, url, visite, ip)
VALUES ('$data_localeS', '$dataGmtS', '$pagina', '$url', '$visite', '$ip')");
}
else {
$old = $esiste->fetch_array(MYSQLI_ASSOC);
$visite = $old['visite'] + 1;
$mysqli->query("UPDATE visitate SET data_localeS='$data_localeS', dataGmtS='$dataGmtS', pagina='$pagina', visite='$visite', ip='$ip' WHERE url='$url'");
}
}
}
}
}
//Estrae i dati dal DB e crea la sequenza delle pagine più viste
$mysqli = new mysqli("localhost", "gruppoalveo", "root", "my_gruppoalveo");
$pag_viste = $mysqli->query("SELECT * FROM visitate ORDER BY visite DESC LIMIT 0,8"); //Visualizza il numero di items
if ($pag_viste->num_rows > 0) {
echo "<div class=\"menuVisti\">";
while ($link = $pag_viste->fetch_array(MYSQLI_ASSOC)) {
echo "<div class=\"numeroVisite\">".$link["visite"]." volte</div>";
echo "<a class=\"visti\" href='".$link['url']."'>• ".$link['pagina']."</a>";
}
echo "</div>";
}
error_reporting (E_ALL);
?>