Witam
Koledzy jest problem...
Mam sobie stronkę i potrzebny mi jest licznik wejść.
Używam ciasteczka do tego. W celach testowych ustawiłem czas ciasteczka na 2 godziny.
Ilość wejść jest odczytywana z bazy, jeśli ciasteczko nie istnieje wtedy zwiększam o 1 i zapisuje do bazy.
Niby proste, ale zwiększenie o 1 powinno odbyć się najwcześniej po 2 godzinach nie odświeżania strony.
Podglądam sobie bazę danych, odświeżając ją co jakiś czas i zauważam, że po odświeżeniu po 10-15 minutach licznik wejść zwiększył się o kilka. Aktywność strony jest zerowa.
Co jest źle w moim kodzie?
<?php
$nazwa = 'isVisit';
$wartosc = '1';
$czaswygasniecia = time() + 60 * 60 * 2; //time() oznacza aktualny czas podany w sekundach, dodajemy do niego 86400 sekund ( 24 godziny ).
$sql_conn = mysql_connect(dane(1), dane(2), dane(3)) or die(dane(4));
mysql_select_db(dane(5)) or die (dane(6));
mysql_query("SET NAMES 'latin2'");
$l = mysql_fetch_row(mysql_query("SELECT `count` FROM `visit` WHERE `id`='1'"));
$liczba = $l[0];
if (!isset($_COOKIE['isVisit']))
{
$liczba++;
mysql_query("UPDATE `visit` SET `count`='$liczba' WHERE `id`='1'");
}
setcookie($nazwa, $wartosc, $czaswygasniecia);
?>
<!-- ========================================================================================================
=============================================================================================================
JAVA SCRIPT
=============================================================================================================
========================================================================================================= -->
<script type="text/javascript">
jQuery(document).ready(function()
{
licznik = <?php echo $liczba; ?>;
$("#visit").html("[ " + licznik + " ]");
});
</script>