Подскажите пожалуйста

Статус
Закрыто для дальнейших ответов.

sergei_bratishev

Well-Known Member
Регистрация
29.03.2012
Сообщения
129
нужно сделать что то типо такого:

как здесь. Главное что бы человек мог нажать только один раз а не при каждом обновление страницы еще и еще. Подскажите пожалуйста как это сделать. Желательно ссылку на материал, а то я не знаю как этот искать. :)
 

Aristotel

Well-Known Member
Регистрация
14.04.2011
Сообщения
213
Они это делают при помощи кукис. Сохраняется какая та переменная, предположим с ID статьи, и при каждом рестарте страницы проверяются куки. Если такой ID уже есть то функция голосования проста не ставится.
Ну это я так груба все рассказал, просто наберите в гугле КУКИС в PHP например, и посмотрите как оно все работает.
Кстати, если после голосования стереть куки то голосовать можно еще. Так что метод не идеален.
Возможно стоит сохранять какие то параметры каждого голосующего, например IP, версию браузера.
 

sergei_bratishev

Well-Known Member
Регистрация
29.03.2012
Сообщения
129
Они это делают при помощи кукис. Сохраняется какая та переменная, предположим с ID статьи, и при каждом рестарте страницы проверяются куки. Если такой ID уже есть то функция голосования проста не ставится.
Ну это я так груба все рассказал, просто наберите в гугле КУКИС в PHP например, и посмотрите как оно все работает.
Кстати, если после голосования стереть куки то голосовать можно еще. Так что метод не идеален.
Возможно стоит сохранять какие то параметры каждого голосующего, например IP, версию браузера.
спасибо) а я вот еще хотел спросить. ты написал что например IP, а IP разве не меняется? и еще вопрос: это будет работать для не зарегестрированых пользователей? :)
 

Aristotel

Well-Known Member
Регистрация
14.04.2011
Сообщения
213
спасибо) а я вот еще хотел спросить. ты написал что например IP, а IP разве не меняется?
Куки по любому нужен, но если на пример чел захотел проголосовать 2 раза, первое что он сделает это сотрет куки. А так если он сотрет их, то тут будет следующая проверка, которая проверит IP(который у некоторых не меняется).

А вообще надо сделать как на голосовальных сайтах, при первом голосе не засчитать его а написать что сможет проголосовать тока завтра, и тогда если он сотрет куки то человеку придется постоянно ждать как минимум день.
Короче идеальных путей нет.

и еще вопрос: это будет работать для не зарегестрированых пользователей? :)
а разве речь не об этом? С зарегистрированными вроде все просто, потому что все сохраняется на серваке. В базе данных создать таблицу голосований, и записывать в нее кто - где - когда голосовал.
 

sergei_bratishev

Well-Known Member
Регистрация
29.03.2012
Сообщения
129
а разве речь не об этом? С зарегистрированными вроде все просто, потому что все сохраняется на серваке. В базе данных создать таблицу голосований, и записывать в нее кто - где - когда голосовал.
ну тогда хорошо :)
Куки по любому нужен, но если на пример чел захотел проголосовать 2 раза, первое что он сделает это сотрет куки. А так если он сотрет их, то тут будет следующая проверка, которая проверит IP(который у некоторых не меняется).
ну сейчас тогда попробую с куки разобраться, если честно не разу еще не связывался с ними.
Спасибо еще раз :)
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Также, хотел добавить, что все алгоритмы зависят от структуры.
Так что я б сделал так:
1. Юзер нажал на кнопку, он отправляется на страницу обработчика, в куки записывается АйДи статьи а в базу данных записывается: АйДи, АйПи, (А также допольнительная информация: версия и название браузера, и т.п.).

2. Юзер стер куки и снова тыкает на кнопку, сначала идет проверка на куки, если куки нет идет проверка на базу данных,
идет проверка на АйДи, АйПи, Название и Имя Браузера, ОС (Это для точности, а вдруг будет что два человека в одном доме живут и оба хотят лайкнуть статью, в итоге один из юзеров будет в обиде))

Можно б было сессии использовать если б они не удалялись с ухода сайта.
 

lekzd

parse error: parse error, unexpected T_STRING...
Регистрация
17.02.2011
Сообщения
1 125
есть еще js-штука под названием evercookie - ставит cookies в 8-ми разных местах и какие-то из них умеют друг друга восстанавливать - короче удалить тяжело
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Кстати о js-шутках, помню читал прикольную шутку про учителй, Мозилла Файерфокс Иванович...
А вот далше не помню, кто-нибудь даст ссылочку?
 
Статус
Закрыто для дальнейших ответов.
Верх Низ