|
|
|||||
Регистрация: Oct 2002
Адрес: Киев
Сообщений: 31
|
Perl Error?
Есть некий список статей, который можно просмотреть.
Помимо просмотра можно выставить оценку статье (1-10). Проблема: скрипт не приращивает значения! (Статьи пронумерованы) Сурц прилагаю ======================= #!/usr/bin/perl #votehint.cgi ################################### $datafile="votes.txt"; $template="vote.html"; $num=30; ################################### sub urldecode { local($val)=@_; $val=~s/\+/ /g; $val=~s/%([0-9a-hA-H]{2})/pack('C',hex($1))/ge; return $val; } ################################### unless(-e $datafile) { open(F,">$datafile"); close(F); } ################################### print "Content-Type: text/html\n\n"; if ($ENV{'REQUEST_METHOD'} eq 'POST') {sysread(STDIN,$query,$ENV{'CONTENT_LENGTH'});} else {$query=$ENV{'QEURY_STRING'};} @formfields=split(/&/,$query); foreach (@formfields) { ($f_n,$f_v)=split(/=/,$_); $f_n=urldecode($f_n); $f_v=urldecode($f_v); $Form{$f_n}=$f_v; } open(FILE,"$datafile"); @filedata=<FILE>; close(FILE); for ($i=1; $i<=$num; $i++) { $Totals[$i]=0; $Marks[$i]=0; } chop(@filedata); for ($i=1; $i<=$num; $i++) { ($mark,$total)=split (/ /, $filedata[$i-1]); if ($total) {$Totals[$i]=$total;} else {$Totals[$i]=0;}; if ($mark) {$Marks[$i]=$mark;} else {$Marks[$i]=0;}; } $z=$Form{'number'}; $m=$Form{'mark'}; $Marks[$z]+=1; $Totals[$z]+=$m; open(FILE,">$datafile"); flock(FILE,2); for ($i=1; $i<=$num; $i++) { print (FILE "$Marks[$i] $Totals[$i]\n"); } flock(FILE,8); close(FILE); open(FILE,$template); @lines=<FILE>; close(FILE); for ($i=0; $i<=$num; $i++) { print"$lines[$i]"; } |
Часовой пояс GMT +4, время: 00:58. |
|
« Предыдущая тема | Следующая тема » |
|
|