Я работаю над плагином под названием Poll-lite. Я хочу, чтобы пользователь голосовал только один раз за опрос, и я делаю это, получая IP-адрес. У меня есть следующий код.
$ip = $_SERVER['REMOTE_ADDR'];
$thequery = "SELECT COUNT(*) AS total FROM `$pollresult_table_name` WHERE ip = ".$ip;
$res = $wpdb->get_results( $thequery );
if ( $res[0]->total > 0 ) {
$personip = $res[0]->total;
echo "You may vote only once in 24 hours";
} else {
$query = "INSERT INTO `$pollresult_table_name` VALUES(NULL, '$id', '".$_POST['merlic_poll_vote']."', NULL, '".$ip."', NOW())";
$wpdb->query($query);
}
Что он делает, так это то, что он получает IP-адрес и проверяет в базе данных, будет ли этот IP-адрес уже там, если он уже есть, он вернет «уже проголосовали», но если его еще нет, то он вставит ответы пользователя в базе данных вместе с его IP, чтобы в следующий раз тот же пользователь голосовал, он больше не может голосовать, потому что IP уже зарегистрирован в базе данных. Моя проблема в том, что он не читает мое состояние в моем if-else. Что могло пойти не так?