////////////////////////////////////////////////////// // NDStats - PHP Site stats // // ©2004 Alan Briolat // // See http://www.net-dezigns.com/ for more details // ////////////////////////////////////////////////////// error_reporting(0); // Directory to NDStats $dir = 'ndstats/'; // Start session session_start(); // Get previous data $filedata = file($dir."stats.txt"); $data = explode('|~|',$filedata[0]); $today_hits = $data[0]; $total_hits = $data[1]; $unique_hits = $data[2]; $page_hits = $data[3]; $file_date = $data[4]; $times_visited = $_COOKIE['visited']; // Check date $today = date('Ymd'); if($file_date != $today){ $today_hits = 0; }; // Calculate new stats $page_hits = $page_hits + 1; if(!isset($_SESSION['statlogged'])){ if(empty($times_visited)){ $unique_hits = $unique_hits + 1; }; $total_hits = $total_hits + 1; $today_hits = $today_hits + 1; $times_visited = $times_visited + 1; setcookie('visited',$times_visited,time()+12000000); $_SESSION['statlogged'] = true; }; // Update the file $fp = fopen($dir."stats.txt","w"); $string = $today_hits.'|~|'.$total_hits.'|~|'.$unique_hits.'|~|'.$page_hits.'|~|'.$today; fwrite($fp,$string); fclose($fp); /* Counter Information Website: http://www.free-php-counter.com/ Version: Mysql version Installation help: http://www.free-php-counter.com/mysql-counter.php You like to remove the link on the counter? Click here and get an link free license: http://www.free-php-counter.com/adfree_counter.php */ // edit counter settings here // database configuration $counter_host = "localhost"; $counter_user = "weblink"; $counter_password = "wOzv0!11"; $counter_database = "weblink"; // http path to the folder containing counter.php and counter.gif (do not forget the / at the end) // set http://www.your-homepage.com/ when the counter is in root dir $counter_path_http = "http://www.web-link.it/counter/"; // ip-protection in seconds $counter_expire = 600; // do not edit from here // connect to database $counter_connected = true; $link = @mysql_connect($counter_host, $counter_user, $counter_password); if (!$link) { // can't connect to database $counter_connected = false; echo "Counter: " . mysql_error(); } else { // select database $db_selected = @mysql_select_db($counter_database, $link); if (!$db_selected) { // can't select database $counter_connected = false; echo "Counter: " . mysql_error(); } } if ($counter_connected == true) { $ignore = false; // get counter information $sql = "select * from counter_values"; $res = mysql_query($sql); // fill when empty if (mysql_num_rows($res) == 0) { $sql = "INSERT INTO `counter_values` (`id`, `day_id`, `day_value`, `yesterday_id`, `yesterday_value`, `week_id`, `week_value`, `month_id`, `month_value`, `year_id`, `year_value`, `all_value`, `record_date`, `record_value`) VALUES ('1', '" . date("z") . "', '1', '" . (date("z")-1) . "', '0', '" . date("W") . "', '1', '" . date("n") . "', '1', '" . date("Y") . "', '1', '1', NOW(), '1')"; mysql_query($sql); $sql = "select * from counter_values"; $res = mysql_query($sql); $ignore = true; } $row = mysql_fetch_assoc($res); $day_id = $row['day_id']; $day_value = $row['day_value']; $yesterday_id = $row['yesterday_id']; $yesterday_value = $row['yesterday_value']; $week_id = $row['week_id']; $week_value = $row['week_value']; $month_id = $row['month_id']; $month_value = $row['month_value']; $year_id = $row['year_id']; $year_value = $row['year_value']; $all_value = $row['all_value']; $record_date = $row['record_date']; $record_value = $row['record_value']; $counter_agent = (isset($_SERVER['HTTP_USER_AGENT'])) ? addslashes(trim($_SERVER['HTTP_USER_AGENT'])) : ""; $counter_time = time(); $counter_ip = trim(addslashes($_SERVER['REMOTE_ADDR'])); // ignorore some bots if (substr_count($counter_agent, "bot") > 0) $ignore = true; // delete free ips if ($ignore == false) { $sql = "delete from counter_ips where unix_timestamp(NOW())-unix_timestamp(visit) > $counter_expire"; mysql_query($sql); } // check for entry if ($ignore == false) { $sql = "select * from counter_ips where ip = '$counter_ip'"; $res = mysql_query($sql); if (mysql_num_rows($res) == 0) { // insert $sql = "INSERT INTO counter_ips (ip, visit) VALUES ('$counter_ip', NOW())"; mysql_query($sql); } else { $ignore = true; $sql = "update counter_ips set visit = NOW() where ip = '$counter_ip'"; mysql_query($sql); } } // online? $sql = "select * from counter_ips"; $res = mysql_query($sql); $online = mysql_num_rows($res); // add counter if ($ignore == false) { // yesterday if ($day_id == (date("z")-1)) { $yesterday_value = $day_value; $yesterday_id = (date("z")-1); } else { if ($yesterday_id != (date("z")-1)) { $yesterday_value = 0; $yesterday_id = date("z")-1; } } // day if ($day_id == date("z")) { $day_value++; } else { $day_value = 1; $day_id = date("z"); } // week if ($week_id == date("W")) { $week_value++; } else { $week_value = 1; $week_id = date("W"); } // month if ($month_id == date("n")) { $month_value++; } else { $month_value = 1; $month_id = date("n"); } // year if ($year_id == date("Y")) { $year_value++; } else { $year_value = 1; $year_id = date("Y"); } // all $all_value++; // neuer record? if ($day_value > $record_value) { $record_value = $day_value; $record_date = date("Y-m-d H:i:s"); } // speichern und aufr�umen $sql = "update counter_values set day_id = '$day_id', day_value = '$day_value', yesterday_id = '$yesterday_id', yesterday_value = '$yesterday_value', week_id = '$week_id', week_value = '$week_value', month_id = '$month_id', month_value = '$month_value', year_id = '$year_id', year_value = '$year_value', all_value = '$all_value', record_date = '$record_date', record_value = '$record_value' where id = 1"; mysql_query($sql); } } ?>