Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрет на многократное голосование!
 
 автор: Grends   (22.12.2011 в 21:57)   письмо автору
 
 

Здравствуйте! Подскажите пожалуйста, как сделать чтобы зарегистрированный пользователь мог поставить оценку за материал только 1 раз?
Вот код:
<form action="vote_res.php" method="post" name="vv">
<p class="pvote">Оцените заметку: 1 <input name="score" type="radio" value="1">
 2 <input name="score" type="radio" value="2">
 3 <input name="score" type="radio" value="3">
 4 <input name="score" type="radio" value="4">
 5 <input name="score" type="radio" value="5" checked>
<input class="sub_vote" name="submit" type="submit" value="Оценить">
<input name="id" type="hidden" value="<?php echo "$id";?>">
</p>
</form>

  Ответить  
 
 автор: Slo_Nik   (22.12.2011 в 22:17)   письмо автору
 
   для: Grends   (22.12.2011 в 21:57)
 

А по теме.... Так это просто у Вас форма, и ни чего Вы тут не сделаете
Сделать можно при помощи cookie, например, хотя это простой вариант, но крайне не надёжный.
Вариантов масса, недавно тут обсуждалась подобная тема, посмотрите ниже по ветке форума или воспользуйтесь поиском

[поправлено модератором]

  Ответить  
 
 автор: Grends   (22.12.2011 в 22:36)   письмо автору
 
   для: Slo_Nik   (22.12.2011 в 22:17)
 

Прошу прощения за длину строки, не заметил.
Искать пробовал, но не нашёл! Может подскажите «надёжный» способ чтоб я знал, что искать.
Буду признателен.

  Ответить  
 
 автор: Sfinks   (22.12.2011 в 23:14)   письмо автору
 
   для: Grends   (22.12.2011 в 22:36)
 

Вот тема про которую вам говорили http://softtime.ru/forum/read.php?id_forum=1&id_theme=83838&page=1

  Ответить  
 
 автор: cheops   (23.12.2011 в 12:16)   письмо автору
 
   для: Grends   (22.12.2011 в 21:57)
 

Лучше всего завести таблицу, в которую складировать идентификаторы уже проголосовавших, а при выводе блока голосования для каждого конкретного пользователя сверяться с этой табличкой (чтобы её не дергать каждый раз можно кэшировать состояние проголосовал/не проголосовал в сессии).

  Ответить  
 
 автор: Grends   (23.12.2011 в 21:13)   письмо автору
 
   для: cheops   (23.12.2011 в 12:16)
 

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

  Ответить  
 
 автор: cheops   (23.12.2011 в 23:06)   письмо автору
 
   для: Grends   (23.12.2011 в 21:13)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования