Funziona! :P
Posto la parte del codice da sostituire:
Codice PHP:
function controlla_cookie()
{
if (isset($_COOKIE['data_visita']) && date("d")!=$_COOKIE['data_visita'])
{
setcookie('data_visita',date("d"),time()+86400);
return true;
} elseif (!isset($_COOKIE['data_visita']))
{
setcookie('data_visita',date("d"),time()+86400);
return true;
} else
return false;
}
Non capisco... eppure prima l'ho fatto e nel cookie c'era il timestamp
e mi sa che non lo capiro mai xD
comunque problema risolto, grazie
EDIT: ho un altro problema, ho provato a dare un nome "dinamico" ai cookies in modo che il contatore potesse essere utilizzato, ma sembra non riconoscere le visite uniche,anche se prima funzionava!
ecco il codice:
Codice PHP:
<?php
// impostazioni di configurazione
$contatore_unico = true; /* valori possibili: true,false impostano se il contatore contera i visitatori unici o le visualizzazioni */
// non modificare nulla oltre questo punto
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$nome_file = basename($path_parts['filename']).'.c.php';
function controlla_cookie($nome_file)
{
if (isset($_COOKIE[$nome_file]) && date("d")!=$_COOKIE[$nome_file])
{
setcookie($nome_file,date("d"),time()+86400);
return true;
} elseif (!isset($_COOKIE[$nome_file]))
{
setcookie($nome_file,date("d"),time()+86400);
return true;
} else
return false;
}
$warning = "";
if (@!file_exists($nome_file) or @filesize($nome_file) == 0)
{
$handle = @fopen($nome_file,"w");
if ($handle)
{
@fwrite($handle,'<?php|1|');
@fclose($handle);
$numero_visite = 1;
} else {$warning = 'Impossibile Aprire il file in modalita scrittura. Controllare permessi';}
} else
{
$contenuto = file_get_contents($nome_file);
$arr = explode('|',$contenuto);
if ($contatore_unico)
{
if (controlla_cookie($nome_file)) $somma = 1; else $somma = 0;
} else $somma = 1;
$handle = @fopen($nome_file,"w");
if ($handle)
{
$nuovo_numero = ($arr[1]+$somma);
@fwrite($handle,"<?php|$nuovo_numero|");
@fclose($handle);
$numero_visite = $nuovo_numero;
} else {$warning = 'Impossibile Aprire il file in modalita scrittura. Controllare permessi';}
}
function contatore($numero_visite,$warning)
{
if (!@isset($warning) or @empty($warning))
echo "$numero_visite";
else
echo "<a href=\"#\" onClick=\"alert('$warning')\">Errore</a>";
}
contatore($numero_visite,$warning);
?>