Эй, у меня уже есть код счетчика просмотров, но мне нужна помощь, чтобы люди не могли просто обновляться и обновляться, чтобы добавить больше просмотров.Обычно я отмечал бы это, сохраняя ip, имя страницы и дату, просмотренную в таблице SQL, где в php я бы запустил поиск, чтобы увидеть, если кто-то с этим ip просматривал страницу в течение 24 часов, но я запускаю веб-сайт, которыйв основном работают в школах, и я хочу, чтобы каждый компьютер в компьютерной лаборатории считался просмотром страницы.Опять же, я могу использовать куки, но мой сервер неправильно отправляет куки.Он отлично работает на моем тестовом сервере, но не на выделенном сервере веб-хостинга.Есть ли другой способ предотвратить спам?
Вот мой код
function connect() {
$domain = $_SERVER['HTTP_HOST'];
$dbhost = 'censored';
$dbname = 'censored';
$dbuser = 'censored';
$dbpass ='censored';
if ($domain == 'localhost'){
$dbhost = 'localhost';
$dbname = 'db1';
$dbuser = 'root';
$dbpass ='';
}
$con = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$con){
trigger_error("Problem Connecting to the MySQL Server.");
}
$db = mysql_select_db($dbname, $con);
if(!$db){
trigger_error("Problem finding the Database!");
}
return $con;
}
function fetchdata($qry){
connect();
$result = mysql_query($qry);
return $fetch = mysql_fetch_assoc($result);
}
function addcounter($id) {
connect();
$counter = fetchdata("SELECT * FROM counter WHERE `path` = '$id';");
$counter = $counter['counter'];
if(isset($_COOKIE["counter_".$id.""])){
}else{
if ($counter === NULL) {
mysql_query("INSERT INTO counter VALUES (0, '" .$id. "');");
}
echo "<!-- submitting query -->";
mysql_query("UPDATE counter SET counter = `counter`+ 1 WHERE path = ".$id."") or die ('failupdate');
setcookie("counter_$id", "Playcookie_".$id."");
}
}