yamarsel4ik
1.04.2013 - 20:04
Добрый день!
Есть сайт в котором много материалов. Хотелось бы добавить голосование за материал. Т.е. для каждого материала будут 2 кнопки "Понравилось" и "Не понравилось". Хотелось бы добавить механизм запрета повторного голосования через cookie.
Сталкиваюсь с этим впервые, поэтому возникло несколько вопросов.
1) При щелчке по ссылке "Понравилось" или "Не понравилось" у пользователя должна записаться кука с name=material_id и value = true. Материалов в базе более 1000. Браузер скорее всего запретит установить столько кук. Как правильно решить этот вопрос? Через serialize? Подскажите, плиз, как правильно это сделать.
Ни какие сериализации не помогут с куками. Там максимальный размер где-то 4500 байт всего.
Заводи пользователей и записывай в базу как они голосовали по каждому пункту.
yamarsel4ik
1.04.2013 - 23:10
Цитата (Visman @ 1.04.2013 - 20:33) |
Ни какие сериализации не помогут с куками. Там максимальный размер где-то 4500 байт всего. Заводи пользователей и записывай в базу как они голосовали по каждому пункту. |
А как интересно реализовано на этом сайте -
http://www.besit2.ru По каждому материалу можно голосовать только один раз... и регистрироваться не надо
innovate
1.04.2013 - 23:26
Цитата |
и регистрироваться не надо |
Можешь как вариант в сессию запилить - если захотят накрутить счетчик, куки не остановят - да и кому это нужно.
denisdangerous
2.04.2013 - 06:02
Заведи поле ну например rated обзови и записывай туда id пользователей которые уже ставили + или - через разделитель, например ';'. Потом каждый раз проверяй. Разбивка через explode(";", $res[$i]['rated']); все легко делается.
innovate, вы хотите сессией защититься от накрутки? Это еще смешнее чем куками
denisdangerous, за поле содержащее значения через разделитель надо расстреливать деревянными пулями (атомарность, нормализация БД, гугл)
_____________
Стимулятор ~yoomoney - 41001303250491
denisdangerous
2.04.2013 - 09:06
Цитата (Valick @ 2.04.2013 - 07:33) |
innovate, вы хотите сессией защититься от накрутки? Это еще смешнее чем куками denisdangerous, за поле содержащее значения через разделитель надо расстреливать деревянными пулями (атомарность, нормализация БД, гугл) |
Как ты тогда предлагаешь это делать? Если не через БД, куки и сессии?
denisdangerous, речь о способе хранения информации в бд. в место хранения данных "через запятую" в данном случае, надо использовать таблицу связи.
_____________
Стимулятор ~yoomoney - 41001303250491
denisdangerous
2.04.2013 - 11:27
Цитата (Valick @ 2.04.2013 - 10:44) |
denisdangerous, речь о способе хранения информации в бд. в место хранения данных "через запятую" в данном случае, надо использовать таблицу связи. |
ясн, я что-то как то об этом не подумал)
yamarsel4ik
3.04.2013 - 14:54
Парни, в итоге, как всё-таки реализовать данный рейтинг через куки?
Никакой особой защиты от накрутки мне не нужно...
В базе хранить всю эту по сути мусорную информацию не желательно.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.