Автор Тема: помогите модифицировать голосование  (Прочитано 1952 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kott

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
у меня есть простейший скрипт голосования:

#!/usr/bin/perl

print "Content-type:text/html\\n\\n";
read(STDIN, $buffer, $ENV{\'CONTENT_LENGTH\'});
       @pairs = split(/&/, $buffer);

       foreach $pair (@pairs)
       {
           ($name, $value) = split(/=/, $pair);
            $FORM{$name} = $value;
      $FORM{\'req\'}=~s/ //g;
                   }

open (LOG,"@ST = ;
close (LOG);
foreach $line (@ST)
{
chop $line;
}

if ($FORM{\'put\'} eq "yes")
{
$ST[0]++;
}
elsif ($FORM{\'put\'} eq "no")
{
$ST[1]++;
}
else
{
$ST[2]++;
}
open (LOG,">stats.log");
flock LOG, 2;
print LOG "$ST[0]\\n";
print LOG "$ST[1]\\n";
print LOG "$ST[2]\\n";
close (LOG);

#calculate percentages

$hundred = $ST[0]+$ST[1]+$ST[2];
$yes = 100*$ST[0]/$hundred;
$yes = int ($yes);
$no = 100*$ST[1]/$hundred;
$no = int ($no);
$op = 100-$yes-$no;
print <<"EOF";






Results:

$hundred people have voted!

EOF
print "";
print "";
print "";

print <<"EOF";
Yes";
while ($num < $yes)
{
print "";
$num++;
}
print "
$yes%
No";
while ($nm < $no)
{
print "";
$nm++;
}
print "
$no%
No opinion";
while ($nmi < $op)
{
print "";
$nmi++;
}

print "
$op%


EOF

подскажите чайнику как добавить в него функцию защиты от накруток (определение ип), а главное как сделать, чтобы просмотр результатов происходил не автоматически (как сейчас), а по клику на ссылку????
хелп!!! :confused:

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
помогите модифицировать голосование
« Ответ #1 : 02 Апреля 2004, 20:06:38 »
imho, легче будет найти уже готовый скрипт в котором все это уже есть. ;)
Цитировать
добавить в него функцию защиты от накруток (определение ип), а главное как сделать, чтобы просмотр результатов происходил не автоматически
пока-пока. :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28