Hallo,
ich habe mir mit hilfe eines tutorial einen counter erstellt der auch soweit sehr gut funktioniert. aber ich möchte nicht nur die zugriffe auf die domain wissen, sondern auch von einigen unterseiten.
auf den jeweiligen seiten habe ich entsprechend den script abgeändert. aber irgendwie werden die zugriffe nicht gezählt. ich vermute das es irgendwas mit "$_SERVER['REMOTE_ADDR'" zu tun hat. wird der wert irgendwo gespeichert , ähnlich wie bei Sessions?
hier ist erstmal der script:
Der script funktioniert bestens wenn ich nur zugriffe von auf die domain (index.php) zähle.
ich habe mir mit hilfe eines tutorial einen counter erstellt der auch soweit sehr gut funktioniert. aber ich möchte nicht nur die zugriffe auf die domain wissen, sondern auch von einigen unterseiten.
auf den jeweiligen seiten habe ich entsprechend den script abgeändert. aber irgendwie werden die zugriffe nicht gezählt. ich vermute das es irgendwas mit "$_SERVER['REMOTE_ADDR'" zu tun hat. wird der wert irgendwo gespeichert , ähnlich wie bei Sessions?
hier ist erstmal der script:
PHP-Code:
<?
$db_host = "xxxxxxxx";
$db_user = "xxxxxxx";
$db_password = "xxxxxxxxxx";
$db_name = "xxxxxxxxx";
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
function check($ip)
{
if(mysql_num_rows(mysql_query("SELECT ip FROM `counter_ip_aktuell` WHERE `ip` = '$ip' AND `day` = '".date("j")."'")) == 0)
{
mysql_query("INSERT INTO counter_ip_aktuell (day, month, time, ip) VALUES ('".date("j")."', '".date("n")."', '".time()."', '$ip')") or die(mysql_error());
mysql_query("update counter_aktuell SET `count` = '".read(all)."'+1 WHERE `id` = '1' ") or die(mysql_error());
}
}
function read($value)# $value ist entweder all, yesterday oder today
{
if($value == "all")
{
$all = mysql_fetch_array(mysql_query("SELECT count FROM `counter_aktuell`"));
return $all[0];
}
elseif($value == "yesterday")
{
$yesterday = date("j")-1;
return mysql_num_rows(mysql_query("SELECT * FROM `counter_ip_aktuell` WHERE `day` = '$yesterday'"));
}
elseif($value == "today")
{
$today = date("j");
return mysql_num_rows(mysql_query("SELECT * FROM `counter_ip_aktuell` WHERE `day` = '$today'"));
}
else
{
return "Ungültige Angabe. Bitte verwenden Sie entweder all, yesterday oder today als Parameter für die Funktion read().";
}
}
function delete()
{
$yesterday = date("j", time()-60*60*24*2);
mysql_query("DELETE FROM `counter_ip_aktuell` WHERE `day` <= '".$yesterday."'");
}
echo check($_SERVER['REMOTE_ADDR']);
echo delete();
?>
Kommentar