Скрипт stats.pl

#!C:/apache/bin/perl/perl

# Вывод поля заголовка о типе содержимого
print "Content-type: text/html\n\n";

# Подключаемые модули
require '_stdlib.pl';

# Вызов подпрограммы формирования начального блока кода
&start('Голосование');

# Вызов подпрограммы чтения конфигурационного файла
&readconf;

# Получение исходной статистики
if(-e 'stats.txt')
{
open(STATS, 'stats.txt');
$inline = <STATS>;
chomp($inline);
@stats = split('\|', $inline);
close(STATS);

if(scalar(@stats) != $varqty)
{
print "<p><span style=\"color: #f00; font-weight:
bold\">Ошибка!</span> Файл статистики не соответствует настройкам голосования.</p>\n";
&stop;
}
}
else
{
for($i = 0; $i < $varqty; $i++)
{
$stats[$i] = 0;
}
}

# Актуализация статистики
&recvquery_post;
if($userdata{'choice'} !~ /^\d+$/)
{
print "<p><span style=\"color: #f00; font-weight: bold\">Ошибка!</span>
Передан некорректный параметр.</p>\n";
&stop;
}

if($userdata{'choice'} >= $varqty)
{
print "<p><span style=\"color: #f00; font-weight: bold\">Ошибка!</span>
Переданный вариант ответа выходит за допустимый диапазон.</p>\n";
&stop;
}

$stats[$userdata{'choice'}]++;

# Сохранение статистики
open(STATS, '>stats.txt');
flock(STATS, LOCK_EX);

$output = join('|', @stats);
print STATS $output;

flock(STATS, LOCK_UN);
close(STATS);

print "<p>Ваш голос учтен.</p>\n";
print "<p><a href=\"viewres.pl\">Показать результаты</a></p>\n";

# Вызов подпрограммы формирования конечного блока кода и завершения работы
&stop;


© 2008-2018 ОптимизацияВебСайтов.ру


Любое использование текстового и графического контента сайта без активной ссылки на источник не доскается.