Это проблема, из-за которой я почесал голову.В большинстве случаев он возвращает IP-адрес в порядке, но иногда он регистрирует его как «0», что вызывает у меня проблемы, так как я использую его для голосования.Как вы можете видеть из кода ниже, я переключаю его в длинную форму и использую условное значение ip == 0, после чего разрешаю голосовать.У меня есть двойная защита с 17-часовым печеньем, но я бы хотел решить эту проблему, если бы мог быть аккуратным и опрятным.Кроме того, я думаю, что есть несколько умных людей, которые очищают свои куки и голосуют несколько раз.Вот код, который я использую:
$ip = $_SERVER['REMOTE_ADDR'];
$iplong = ip2long($ip);
$fetch = mysql_query("SELECT * FROM ip WHERE ipaddress='$iplong' AND
url='$urlupdate'");
if(mysql_num_rows($fetch) == 0) {
$query = mysql_query("INSERT INTO ip (url,ipaddress) VALUES ('$urlupdate','$iplong')");
}
$update = "UPDATE pages SET counter = counter +1 WHERE url = '$urlupdate'";
$result = mysql_query($update);
Как я уже говорил, большую часть времени это работает как брелок, и задание cron очищает его один раз в день без проблем.Сначала я подумал, что это проблема с noscript, но она вызвана нажатием кнопки мыши.Это означает, что код никогда не анализируется, значения не вставляются, и, по сути, ссылка просто возвращает их на страницу результатов, не регистрируя информацию.Я так озадачен тем, что может быть причиной этого!