Trazeci najbolje resenje za hit counter pokusao sam da samostalno iskreiram cookie+session counter, koji bi setovao cookie na 60min, a ako je cookie zabranjen, bar tokom sesije eliminisao povecanje hitova. Ili sam negde nesto pogresio ili je problem sto ne mogu da ga testiram na 'localhost' svoje masine, jer od browser-a koje imam jedino na google chrome sam nasao kako da zabranim cookies, ali je zabrana tipa ('prevent storing any data'), pa mi nije jasno da li pod 'any data' on zabranjuje i upis $_SESSION varijabli. Evo koda, a potrudio sam se da komentarima olaksam citanje:
<?php
//Provera da li je cookie setovan
if (!isset($_COOKIE['user']))
{
//Ukoliko cookie nije setovan, provera da li je session var setovana
if (empty($_SESSION['user1']))
{
//Setovanje cookie i session varijable
setcookie('user','1',time()+3600);
session_start();
$_SESSION['user1'] = '1';
//Inkrementacija counter-a i upis u bazu
$dbc = mysqli_connect('db_host', 'db_user', 'db_pass', 'db_base');
$counter = getcount();
$counter++;
$query2 = "UPDATE countertable SET count = '$counter'";
mysqli_query($dbc, $query2);
}
}
//Ispisivanje na ekranu
$counter = getcount();
echo $counter;
//Funkcija koja vraca count iz baze
function getcount ()
{
$dbc = mysqli_connect('db_host', 'db_user', 'db_pass', 'db_base');
$query1 = "SELECT * FROM countertable";
$data = mysqli_query($dbc, $query1);
$row = mysqli_fetch_array ($data);
return $row['count'];
}
?>
Hoce li ovo da radi na serveru?