Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Проверка голосования по ip.

Ответить
Настройки темы
[решено] Проверка голосования по ip.

Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


Доброго время суток !

Нужно решить мне такую задачу:

Есть новость, люди голосуют, нужно, чтоб не голосовали кто уже голосовал.
Немного погуглил ничего не нашёл.

Хочу, чтоб ip заносились в базу mysql потом оттуда вытаскивались и проверялись.
Сейчас застрял на этапе проверки и корректной записи. Плюс не уверен с типом поля для сохранения ip в базе.

Вот что пока есть:


$ip=$row['ip']; // просто из текстового поля заношу всё в переменную

вот тут не знаю, что сделать.

if($ip==$_SERVER['REMOTE_ADDR'])

{
echo "Вы уже голосовали !"
exit();
}

Вот такие скромные успехи )

Отправлено: 22:06, 17-12-2008

 

Аватара для ][alter

Старожил


Сообщения: 195
Благодарности: 15

Профиль | Сайт | Отправить PM | Цитировать


Хм… Очень странно что вы не чего не нашли в сети. Вот примеры:

http://www.codenet.ru/webmast/php/PHP-Voting.php

http://webdesign.site3k.net/?/conjun...d/d/golos.html

Так же имеются большое количество готовых решений

http://script.emanual.ru/?a=23&i=193

-------
Если хочешь научиться плавать, прыгай в воду. Находясь на суше, никакой умонастрой тебе не поможет.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:25, 17-12-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
[alter]Хм… Очень странно что вы не чего не нашли в сети. Вот примеры: »
Ну так я и не искал практически, спасибо )))) Надеюсь найду, что нужно.

-------
На все вопросы не хватит ответов - www.luzerblog.ru


Отправлено: 23:57, 17-12-2008 | #3


Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


Требуется совет по оптимизации и выявлению глупых мест )))
Вот что сделал:

$id // ид-новости из другой таблицы. Прилетела из голосовалки.

$ip=($_SERVER['REMOTE_ADDR']);
// получил ip

$vote_check=mysql_query("SELECT id FROM ipvot WHERE ipadr='$ip' and idnews='$id'",$db);
//В таблице три поля: id автозап., ipadr это просто text, idnews совпадает с номером новости в другой таблице. Итак, засунули в $vote_check поле id где ipadr=ip и idnews=id новости.

$check = mysql_fetch_array($vote_check);
//Всё это разложили.

$idcheck = $check['id'];
// В $idcheck засунули то что в id.

if
(($idcheck) >0)

//проверил, что $idcheck есть и имеет значение.

{
echo "Вы уже голосовали !";
exit();
}
else
{тут всё делаем и записываем в таблицу ipvot, idnews(номер новости) и ip}

Отправлено: 17:35, 19-12-2008 | #4


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Зачем нужно первое поле, проголосовал человек и ладно.
Как вариант можно просто проверить количество возвращаемых строк.
PHP код: Выделить весь код

$vote_check=mysql_query("SELECT COUNT (*) FROM ipvot WHERE ipadr='$ip' and idnews='$id'",$db);

if (
mysql_result($vote_check0) > 0)
{
echo 
"Вы уже голосовали !";
exit();
}
else 
{
тут всё делаем и записываем в таблицу ipvotidnews(номер новостии ip

Если что-то поподробнее -> http://www.mysql.ru/docs/man/Counting_rows.html

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 01:35, 20-12-2008 | #5


Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


Цитата Igor_I:
Как вариант можно просто проверить количество возвращаемых строк. »
Что то так не работает (

-------
На все вопросы не хватит ответов - www.luzerblog.ru


Отправлено: 11:19, 20-12-2008 | #6


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Пробел затесался.
SELECT COUNT<без пробела>(*) FROM ipvot WHERE ipadr='$ip' and idnews='$id'

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:46, 20-12-2008 | #7


Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


Цитата Igor_I:
Пробел затесался. »
Ну вот, совсем другое дело :-)

-------
На все вопросы не хватит ответов - www.luzerblog.ru


Отправлено: 01:10, 21-12-2008 | #8



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Проверка голосования по ip.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как автоматом часто обновлять станицу (для голосования надо) x1 Хочу все знать 5 08-08-2011 07:42
[решено] проверка флешки по SN Anarasius AutoIt 4 24-11-2009 18:12
[решено] Регулярная проверка 12341234 Лечение систем от вредоносных программ 2 29-10-2008 13:30
Организация голосования ][alter Вебмастеру 2 16-10-2007 13:06
помогите со скриптом голосования koresaram Программирование и базы данных 3 02-10-2003 15:08




 
Переход