Теория. Создание опроса/голосования (начало пути).

Статус
В этой теме нельзя размещать новые ответы.

Rodent

Новичок
Теория. Создание опроса/голосования.

У меня чисто теоретический вопрос к Гуру пхп и мускула.
Я надеюсь данный топик в будущем пригодиться новичкам (таким как мне), как основа с которой нужно начинать.
Перед любой поставленной задачей, человек сначала намечает путь, по которому будет идти, чтобы достичь цели. И уж потом идет по нему. Конечно, на своем пути он будет встречать мелкие трудности, но это уже другой разговор. Однако, если изначально выбрать неправильный путь, можно очень долго плутать и достать всех на этом и других форумах (опять же про меня).

Итак, появилась мысль создать опрос на пхп + мускл, который будет прикреплен к теме форума.
Мои действия ( надеюсь меня исправят):
Под него я выделяю 2 таблицы, первая (1) для самих опросов, вторая (2) для подсчета голосов.
таблица (1) поля
1. id
2. номер опроса\голосования
3. номер ответа (0 - название опроса, 1-n - ответы)
4. текст опроса
таблица (2) поля
1. id
2. номер опроса\голосования (тоже что и в таблице (1) п. 2)
3. номер ответа из таблицы (1) (0 быть не может)
4. время
5. ip
В качестве защиты от накрутки использовать куки.

Теперь вопрос, правильно ли я наметил путь для решения поставленной задачи? не возникнут ли трудности при подсчете и вводе результатов (в виде той же диаграммы)?

Заранее спасибо.
 

Фанат

oncle terrible
Команда форума
Я надеюсь данный топик в будущем пригодиться новичкам (таким как мне)
Не надейся. Тебе же многочисленные уже существующие топики на эту тему не пригодились? Вот и им не пригодятся.
Так что не надо петь песен про осчастливленное человечество и думать, что ты ПЕРВЫЙ в мире кто столкнулся с такой задачей.
таблица (1) поля
1. id
2. номер опроса\голосования
3. номер ответа (0 - название опроса, 1-n - ответы)
странное какое-то поле. строка из цифр что ли?
и что за ответы в описании голосования?
В качестве защиты от накрутки использовать куки.
Сейчас тебе сто человек скажут, что это ненадёжно. в принципе верно, но если контингент нормальный, то большего и не нужно.
Однако, если форум с регистрацией, то лучше в качестве защиты от накруток использовать её.
 

Rodent

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

Ответ в описании голосования - это варианты ответа на поставенный вопрос в голосовании, по которым будет производиться само голосование.

Про Куки понятно.
 

Bitterman

Новичок
Зачем тебе поле ip во второй таблице? И я бы добавил отдельную таблицу с вариантами ответов.
 

Rodent

Новичок
Итак, нужно 3 таблицы:

таблица 1 - сами опросы
id
название опроса
описание опроса

таблица 2 - варианты ответов
id
id опроса (таблица 1)
вариант ответа

таблица 3 - результаты
id
id опроса (таблица 1)
id вариант ответа (таблица 2)
время
ip

Правильно?
 

Bitterman

Новичок
Rodent
В первую таблицу я бы добавил еще описание опроса. И ты так и не ответил зачем тебе нужно было поле ip. Разве я сказал, что его надо убрать?
 

Rodent

Новичок
Bitterman
ip - на всякий случай для дальнейшего возможного контроля не только при помощи куки.
 

Фанат

oncle terrible
Команда форума
Если я пишу топик, то можно сделать вывод, что я не нашел то
Об этом я и говорю. Ты не нашел - и другие, о которых ты так трогательно заботишься, тоже не найдут.
если Фанат найдет неободимую инфу,буду очень признателен
у меня где-то в профиле написано "ищу ламерам необходимую инфу"?
 

Bitterman

Новичок
Я бы хранил в третьей таблице, уникальное значение, которое генерировалось бы при первом заходе каждого юзера и писалось бы ему в куку. То есть при заходе юзера на сайт, надо проверять установлена ли у него соответствующая кука, если нет - генерим уникальное значение и пишем ему в куку. После этого, каждый раз когда юзер отвечает на один из опросов, в третью таблицу помимо id опроса и ответа пишется еще и значение из куки. В этом случае мы легко можем узнать на какой из опросов пользователь отвечал, да еще и узнать что он отвечал (это вещь необязательная, но иногда может оказаться полезной). Естественно, что все это справедливо, только при условии, что у всех юзеров разрешены куки и они их не удаляют. Для дополнительной страховки можно писать и ip, и юзер-агент, но надо ли?
P.S. Если у тебя есть на сайте регистрация то естественно надо последовать совету Фаната и использовать ее а не куки. В этом случае, в третью таблицу будет писаться ID юзера.
P.P.S. Если честно, голосовалки ни разу не писал :), так что все вышенаписанное может оказаться и бредом, но на мой взгляд все достаточно логично. Сам бы делал именно так.
 

Фанат

oncle terrible
Команда форума
Bitterman
Естественно, что все это справедливо, только при условии
ну и нафига городить весь этот огород?

разве что, учитывать голоса давних голосователей с большим весом.
 

Bitterman

Новичок
ну и нафига городить весь этот огород?
В смысле - "нафига"? А как запретить юзеру голосовать второй раз при отсутствии регистрации? Можно, конечно, анализировать ip и юзер-агент, но ИМХО, это и будет называться "городить огород".
 

Фанат

oncle terrible
Команда форума
в смысле - нафига делать защиту, которую обойдет даже пятиклассник?
 

Rodent

Новичок
Фанат
Не можешь помочь или дать нормально совета, понятного для "ламера", не пиши...
И ОГРОМНЕЙШАЯ просьба, не отвечай на это сообщение, будь умным - промолчи.

Bitterman
спасибо за советы, применю на практике

ЗЫ не знал что пхп изучают в 5 классе...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху