К нам на передачу часто поступают вопросы как сделать разного вида скрипты. Но я вообще программист, а не дизайнер - поэтому извиняйте за кривоту кода.
Начнём с того зачем нам голосование ? Как вы видели на сайте http://www.imania.zp.ua/ его используют чтоб узнать мнение пользователей . Голосование это один из лучших методов привлечение посетителей на сайт.
Начнём. Для написания скрипта вам понадобится драйвер DLL_прямые_пальцы.
Вот что нам нужно будет вставить в HTML код, чтоб получить формочку.
Надеюсь, все поняли смысл этого кода … Я хочу объяснить только эту строку “” Эта строка передаёт скрипту № голосования. Т.е. вы сразу можете проводить большое количество голосований.
Далее нам нужно будет в чём-то хранить статистику. Для этого нам понадобится обычный файл. Имя файла будет зависеть от № голосования. Пример vote1.txt – для первого и т.д. Обязательно если скрипт будет работать на *NIX платформе выставить права доступа как 777 (Read/Write/eXecute) Файл состоит из четырёх строк которые заполнены по 1 нулю.
Я вообще ленивый человек , но не люблю оставлять дырки.
В данном голосование 1 человек может проголосовать хоть 100 раз , но мы это сейчас исправим.
Проверять по IP человека можно , но 1 сейчас есть много прокси серверов и можно просто перезвонить к провайдеру и ты получишь новый IP. Но у меня идея покруче … Cookies. Но они работают не во всех браузерах. Мысль состоит в том чтоб обрабатывать голосовал ли уже человек … Допустим можно голосовать 1 раз в день . Значит перед echo " Спасибо, Ваше мнение учтено:"; Мы должны написать setcookie("voted","yes",time() + 86400); Если вам интересно что такое 86400 то это 1 день 1 день=24часа=24*60 минут=24*60*60 секунд или 86400 секунд. Это значит что юзер целый день не сможет голосовать.
Далее заменяем
if ($answer != "")
На
if (($answer != "") && ($voted !="yes")){
И заменяем
} else { echo " Результаты голосования"; }
На
} else { if ($voted =="yes") { echo "Вы уже голосовали !"; } echo " Результаты голосования"; }
Вуаля ! Скрипт ГОТОВ !!! Теперь голосуйте сколько хотите !
Алекс | 18-04-09 16:00 Мало того что скрипт не работает, так текст этого скрипта все выкладывают на сайтах с одной и той же ошибкой. Нет закрывающих скобок тега <input>
Сергей | 15-04-09 18:30 Спасибо!
Но скрипт не работает.
Павел | 25-05-08 20:16 ну если не ошибаюсь это переводится, как:
$n = $n+$a[$i];
$i++;
Вообще в скрипте vote.php нада заменить все эти %2B на + потому, что может криво работать...
Антон | 15-08-06 14:32 $n = $n%2B$a[$i];
$i%2B%2B;