Приветствую всех!Ежедневная система голосования с IP
Я знаю, что использование IP-адресов - не лучший способ пойти на голосование, но в моем случае это нормально!
Что я хочу достичь: администратор может задать вопрос для опроса. Пользователи отвечают на вопрос и могут голосовать за каждый ответ ежедневно, используя свой IP-адрес.
Что я до сих пор: администратор может задать вопрос для опроса. Пользователи могут ответить на вопрос, используя свой IP-адрес один раз. (вы можете голосовать только один раз за каждый IP-адрес)
База данных: Параметры таблицы: id и name Это таблица, в которой содержатся ответы на опрос. Табличные избиратели: id, option_id, ip, today и number. Это таблица, в которой хранится ip-адрес избирателя, ответ на который он хочет проголосовать, дата, когда он проголосовал (еще не работает), и номер, который используется для получения общей суммы голосов.
У меня есть 3 PHP файлы: muziek.php, insertM.php и vote.php
muziek.php показывает вопрос и ответ на опрос.
insertM.php позволяет пользователям вставлять ответ на опрос.
vote.php делает голосование за опрос. Люди могут использовать свои ip-адреса только один раз, теперь я хочу сделать так, чтобы люди могли ежедневно использовать свои IP-адреса.
vote.php:
private function _alreadyVote($ip,$today)
{
$sql = "SELECT * FROM ".$this->_voterTable." WHERE ip='".$ip."' AND DATE(today) = CURDATE()";
$result = $this->_query($sql);
return sizeof($result)>0;
}
//public functions
public function vote($optionId)
{
$ip = $_SERVER['REMOTE_ADDR'];
$today = date('Y-m-d');
if(!$this->_alreadyVote($ip,$today)){
$sql ='INSERT INTO '.$this->_voterTable.' (id,option_id,ip,today) '.' VALUES(NULL,"'.mysql_real_escape_string($optionId).'","'.mysql_real_escape_string($ip).'","'.mysql_real_escape_string($today).'")';
mysqli_query($conn, $sql);
$result = mysql_query($sql,$this->_con);
if(!$result){
die('unable to insert'. mysql_error());
}
}
}
мне нужно следить за день и проверить, если текущая дата равна дате в базе данных пользователя голосования. Если это не то же самое, пользователь должен иметь возможность проголосовать снова, и будет установлена новая дата.
Спасибо за чтение! Пожалуйста, спросите меня, хотите ли вы, чтобы я опубликовал больше кода.
Я думаю, что это будет отпугнуть людей, потому что они должны проверить логин, и я хочу, чтобы быстро и легко. – ShadowMan
Что именно не работает @WardP? Кредиты для написания вопроса с этими деталями, по-видимому, для многих людей сегодня немного сложны. –
Я хочу сделать так, чтобы люди могли голосовать каждый день, теперь они могут голосовать только один раз с их IP-адресом. – ShadowMan