Бывалый

Профиль
Группа: Участник
Сообщений: 185
Регистрация: 18.6.2005
Репутация: 1 Всего: 1
|
Вобщем когда я использую exit 0; то надо чтобы скрипт перестал выполняться ..... все выше описаное проблеме не помогло вот коме интересно код: | Код | #!/usr/bin/perl -w require 'cont3.pl';
foreach (param()) { $check=param($_); if (grep(/[\$\(\)<>\|\[{?+*@\.,"'%=]/,$check)){print bwrite("Недопустимые символы в параметрах");exit 0;} }
$a=<<PAGE_HERE; <style>BODY { SCROLLBAR-HIGHLIGHT-COLOR: #dbd8d8; SCROLLBAR-SHADOW-COLOR: #7e7d7d; SCROLLBAR-3DLIGHT-COLOR: #bbb9b9; SCROLLBAR-ARROW-COLOR: #FF9900; SCROLLBAR-TRACK-COLOR: #cdcdcd; SCROLLBAR-DARKSHADOW-COLOR: #727272; SCROLLBAR-BASE-COLOR: #999999 }</style> <link rel="stylesheet" type="text/css" href="../../css.css"> <body background=../../img/color0.gif> <center> PAGE_HERE
if (defined param('t1') and defined param('t2') )
{
$id=param('t1'); $opon=param('t2');
$nema=0; $win=0; $lost=0; $tor=0;
db_connect();
#@@@@@@@@@@@@@@@@@@@@ Проверяем усталость и колл игроков в основном составе Проверяем вратарей @@@@@@@@@@@@@@@@22
$sth = $dbh->prepare ("select id,login,team from fd_rfml where id='$id' or id='$opon' "); $sth->execute() || quit(); while (@data = $sth->fetchrow_array()) { $tepoid{$data[0]}="$data[2]\[$data[1]\]"; } @data=();
$a.="<title>$tepoid{$id} с $tepoid{$opon}</title>";
$pl{$id}{kol}=0; $pl{$id}{ustal}=0; $pl{$opon}{kol}=0; $pl{$opon}{ustal}=0;
$sth = $dbh->prepare ("select owner,iq,pos,ustal from fd_fplu where onfield=1 AND (owner='$id' or owner='$opon') "); $sth->execute() || quit(); while (@data = $sth->fetchrow_array()) { $iq=$data[1] || 0; $iq=$iq/1000; $pos=$data[2] ; $ust=$data[3] || 0; $ust=$ust/100; $pl{$data[0]}{kol}++; $pl{$data[0]}{$pos}+=$iq; $pl{$data[0]}{ustal}+=$ust; } @data=();
if ($pl{$id}{kol}<11) {print bwrite("<FONT color=red>В основном сотаве должно быть как минимум 11 игроков</font>");$dbh->disconnect;exit 0;} if ($pl{$opon}{kol}<11) {print bwrite("<FONT color=red>У команды соперника не выбран основной состав</font>");$dbh->disconnect;exit 0; } if ($pl{$opon}{ustal}>15) {print bwrite("<FONT color=red>У команды соперника большая усталость</font>");$dbh->disconnect;exit 0; } if ($pl{$id}{ustal}>15) {print bwrite("<FONT color=red>У вашей команды большая усталость</font>");$dbh->disconnect;exit 0; }
if (! exists $pl{$id}{GK}) {print bwrite("<FONT color=red>В основном составе вашей команды нету вратаря</font>");$dbh->disconnect;exit 0; } if (! exists $pl{$opon}{GK}) {print bwrite("<FONT color=red>В основном составе команды соперника нету вратаря</font>");$dbh->disconnect;exit 0; }
#use Data::Dumper; #print Dumper(@allplayers); #print Dumper(%character);
map{ if(! defined $_) {$_=0;} } ($pl{$id}{FC},$pl{$id}{MD},$pl{$id}{D},$pl{$id}{GK},$pl{$opon}{FC},$pl{$opon}{MD},$pl{$opon}{D},$pl{$opon}{GK});
$f1=$pl{$id}{FC}+$pl{$id}{MD}/2; $d1=$pl{$id}{D}+$pl{$id}{MD}/2+$pl{$id}{GK};
$f2=$pl{$opon}{FC}+$pl{$opon}{MD}/2; $d2=$pl{$opon}{D}+$pl{$opon}{MD}/2+$pl{$opon}{GK};
$ust1=$pl{$id}{ustal}; $ust2=$pl{$opon}{ustal};
#print "<FONT face=Verdana, Arial, Helvetica, sans-serif size=1 color=mediumblue>Ваша команда<BR> нападение:$f1 защита:$d1 усталость:$ust1</font><br>"; #print "<FONT face=Verdana, Arial, Helvetica, sans-serif size=1 color=deeppink>Команда соперника <BR>нападение:$f2 защита:$d2 усталость:$ust2</font><br><br>";
$a.="<table cellspacing=1 cellpadding=1 border=0 ><tr bgcolor=#CCFFCC> <td colspan=6 align=center>Параметры команд</td></tr> <tr bgcolor=white><td><FONT >команда</td><td>нападение</td> <td>защита</td><td>усталость</td></tr> <tr bgcolor=white><td ><FONT color=mediumblue>$tepoid{$id}</font></td> <td >$f1</td><td >$d1</td><td>$ust1</td></tr> <tr bgcolor=white><td ><FONT color=mediumblue>$tepoid{$opon}</font> </td><td >$f2</td><td >$d2</td><td >$ust2</td></tr> </table><BR>";
if ($pl{$id}{ustal}==0) {$pl{$id}{ustal}=1;} if ($pl{$opon}{ustal}==0) {$pl{$opon}{ustal}=1;}
$g1=int(100*$f1/$pl{$id}{ustal})/100-int(100*$d2/$pl{$opon}{ustal})/100; $g2=int(100*$f2/$pl{$opon}{ustal})/100-int(100*$d1/$pl{$id}{ustal})/100;
for ($ik=1;$ik<=1001;$ik++) {
$x=$g1; $v=1+4.66945505100E-0002*$x+1.00244399787018E-0003*$x**2+1.40877451159464E-0005*$x**3+2.89194170263E-0007*$x**4+2.50877193474668E-0009*$x**5-3.84172555428E-0011*$x**6+3.05833585472538E-0013*$x**7+4.84195965818148E-0015*$x**8-2.442865180E-0017*$x**9; $v=$v/100; $c=0; for ($i=1;$i<10;$i++) { $k=rand; $k=$k/9; if ($k<=$v) {$c++;} $p=rand; $p=$p*100; last if ($c>=4 and $p>=5); last if ($c>=5 and $p>=4); last if ($c>=6 ); } $goals1=$c; $x=$g2; $v=1+4.669585100E-0002*$x+1.00244399787018E-0003*$x**2+1.40877451159464E-0005*$x**3+2.89732194170263E-0007*$x**4+2.50877193474668E-0009*$x**5-3.84172559775428E-0011*$x**6+3.05833585472538E-0013*$x**7+4.8419596548E-0015*$x**8-2.44265180E-0017*$x**9; $v=$v/100; $c=0; for ($i=1;$i<10;$i++) { $k=rand; $k=$k/9; if ($k<=$v) {$c++;} $p=rand; $p=$p*100; last if ($c>=4 and $p>=5); last if ($c>=5 and $p>=4); last if ($c>=6 ); } $goals2=$c;
if ($f1==0){$goals1=0;} if ($f2==0){$goals2=0;}
if ($goals1>$goals2) { $win++; } if ($goals1==$goals2) { $tor++; } if ($goals1<$goals2) { $lost++; }
$sum=$goals1+$goals2; if ($sum==0) {$sum=1;}
$pok1=100*$goals1/$sum;
#print "<BR>показатель счета <B>$pok1 \%</b><bR>";
if ($pok1>=30 and $pok1<=70) {$one=0; #print "po pervomu priznaku draki net<BR>"; } if ($pok1>=0 and $pok1<30 or $pok1>70 and $pok1<=100) {$one=1; #print "po pervomu priznaku draki budet<BR>"; $nema++; }
}
$win=int(100*$win/1001); $tor=int(100*$tor/1001); $lost=int(100*$lost/1001);
$c1="";$c2="";$c3=""; if ($win>=$tor and $win>=$lost) {$c1="bgcolor=#CCFFCC";} if ($tor>=$win and $tor>=$lost) {$c3="bgcolor=#CCFFCC";} if ($lost>=$win and $lost>=$tor) {$c2="bgcolor=#CCFFCC";}
$a.="<table cellspacing=1 cellpadding=1 border=0 width=40% align=left> <tr bgcolor=#CCFFCC><td colspan=2 align=center>вероятность исхода матча</td></tr> <tr bgcolor=white><td $c1>выигрыш</td><td $c1>$win \%</td></tr> <tr bgcolor=white><td $c2>проигрыш</td><td $c2>$lost \%</td></tr> <tr bgcolor=white><td $c3>ничья</td><td $c3>$tor \%</td></tr> </table>";
#@@@@@@@@@@@@@@Узнаём страну дома@@@@@@@@@@@ $sth = $dbh->prepare ("SELECT country FROM fd_froms WHERE id='$id' "); $sth->execute() || quit(); while (@data = $sth->fetchrow_array()) { $country=$data[0] ; } @data=();
#узнаем базы фанов врачи и фанов $sth = $dbh->prepare ("SELECT id,fans FROM fd_fans WHERE country='$country' AND (id='$id' or id='$opon') "); $sth->execute() || quit(); while (@data = $sth->fetchrow_array()) { $fans=$data[1] || 0; $fani{$data[0]}{fans}=$fans; } @data=();
$fan1=$fani{$id}{fans}; $fan2=$fani{$opon}{fans};
%css=('Австрия','Austria','Англия','England','Аргентина','Argentina','Беларусь','Belarus','Бельгия','Belgium','Бразилия','Brazil','Германия','Germany','Голландия','Netherlands','Греция','Greece','Дания','Denmark','Испания','Spain','Италия','Italy','Казахстан','Kazakhstan','Молдова','Moldova','Норвегия','Norway','Польша','Poland','Португалия','Portugal','Россия','Russia','Украина','Ukraine','Франция','France','Хорватия','Croatia','Чехия','Czech','Швеция','Sweden','Швейцария','Swiss','Шотландия','Scotland','Эстония','Estonia','Югославия','Yugoslavia'); %css =reverse %css; %cs=('Австрия','Austria.gif','Англия','England.gif','Аргентина','Argentina.gif','Беларусь','Belarus.gif','Бельгия','Belgium.gif','Бразилия','Brazil.gif','Германия','Germany.gif','Голландия','Netherlands.gif','Греция','Greece.gif','Дания','Denmark.gif','Испания','Spain.gif','Италия','Italy.gif','Казахстан','Kazakhstan.gif','Молдова','Moldova.gif','Норвегия','norv.gif','Польша','Poland.gif','Португалия','Portugal.gif','Россия','Russia.gif','Украина','Ukraine.gif','Франция','France.gif','Хорватия','Croatia.gif','Чехия','Czech.gif','Швеция','Sweden.gif','Швейцария','swiss.gif','Шотландия','sco.gif','Эстония','Estonia.gif','Югославия','Yugoslavia.gif');
$img="<img src=../../../img/$cs{$css{$country}} border=0 alt=\"$css{$country}\" >";
if ($fan1>83000) {$fan1=83000;} if ($fan2>83000) {$fan2=83000;}
$a.="<table cellspacing=1 cellpadding=1 border=0 ><tr bgcolor=white> <td colspan=2 align=center bgcolor=#CCFFCC>фаны: $css{$country} $img</td></tr> <tr bgcolor=white><td ><FONT color=mediumblue >$tepoid{$id}</font></td><td>$fan1</td></tr> <tr bgcolor=white><td ><FONT color=mediumblue>$tepoid{$opon}</font></td><td>$fan2</td></tr> </table>";
$sum1=$fan1+$fan2; if ($sum1==0) {$sum=1;}
$pok1=100*$fan1/$sum1;
#print "<BR>показатель afanov <B>$pok1 \%</b><bR>";
if ($pok1>=30 and $pok1<=70) { $two=0; #print "po vtoromu priznaku draki net<BR>"; } if ($pok1>=0 and $pok1<30 or $pok1>70 and $pok1<=100) {$two=1;
#print "po vtoromu priznaku draki budet<BR>"; }
$nema*=$two; $sexy=0;
for ($jk=1;$jk<=100;$jk++) { if (rand(10)<=1 ) {$sexy++;} }
$a.="<BR><BR><BR><B>вероятность драки: ".int(100*$sexy/100)." %</b>";
$dbh->disconnect;
}
$a.="<center> <BR> </center>";
gzip(); print $a;
|
--------------------
niva[frenky]
|