Самия код е супер прост и има само 2 условия.
Забравил съм всичко на PERL и не намерих скриптовете които съм правил за да погледна синтаксис-минтаксис и някакви екстри.
Значи аз малко преписах от твоя код но имаше няколко грешки .
Формуляра ти си го написала така:
print <<'EOF';
<form method="POST" print "
a href=\"glavna.cgi\">
<input type="text" name="ime" /><br/>
<textarea name="comment"></textarea><br/>
<input type="submit"/>
</form>
EOF
}
трябва да е action="адреса на скрипта" а не a href="адреса на скрипта".
Другото което е, че си написала на value="yes"/value="no"
По добре да е value="1"/value="2" .
Твоето не е грешно но аз предпочитам числа.
Ето как съм написал формуляра test.cgi:
#!/usr/bin/perl
use strict;
use CGI ':standard';
print "Content-type: text/html\n\n";
PrintForm();
sub PrintForm
{
print <<'EOF';
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form method="POST" action="test2.cgi">
<input type="text" name="ime" /><br/>
<div align="left">
<input type="text" name="familia" /><br/><br/>
Хитрец ли сте? <br/><br/>
1. Декларирате ли по принцип гледната си точка, когато ръководителят Ви не е прав?<div>
<p align="left">
<input type="radio" name="Q1" value="1">
Да <br>
<input type="radio" name="Q1" value="2">
Не </p>
<div align="left">2. Когатo закъснеете за училище или за работа, стараете
ли се да влезете тихо, така че да не Ви забележат?<br>
</div>
<p align="left">
<input type="radio" name="Q2" value="1">
Да <br>
<input type="radio" name="Q2" value="2">
Не </p>
<p align="left">3. Ще помолите ли приятеля си да направи за Вас нещо,
което Вие се страхувате да направите сам?</p>
<p align="left">
<input type="radio" name="Q3" value="1">
Да <br>
<input type="radio" name="Q3" value="2">
Не <br>
</p>
<input type="submit" value="Давай">
</form>
</body>
EOF
}
В скрипта test2.cgi аз проверявам само името дали е с повече от 3 букви.
Така както си се опитала ти да го направиш.
Ако е с по малко букви му показва надпис "Трябва да е с най малко 3 букви" и exit; .
Не мога да ти кажа защо трябва да се декларират променливите с които ще работя в самия скрипт. Не си спомням какво точно беше .
Ето и скрипта test2.php:
#!/usr/bin/perl
use strict;
use CGI ':standard';
my ($ime,$familia,$q1,$q2,$q3,$tochki);
$ime= param('ime');
$familia= param('familia');
$q1= param('Q1');
$q2= param('Q2');
$q3= param('Q3');
print "Content-type: text/html\n\n";
if (length($ime)<3)
{print "Името ви трябва да е с повече от 3 букви";exit;}
if($q1==2){$tochki=$tochki+1;}
if($q2==1){$tochki=$tochki+1;}
if($q3==1){$tochki=$tochki+1;}
if($tochki==0){$tochki=0;}
print<<"TEST_RESULT";
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
Име: $ime <br/>
Фамилия: $familia<br/>
Точки: $tochki <br/>
TEST_RESULT
if ($tochki>1) {print "Ви сте голям хитрец";}
else {print "Ви не сте голям хитрец";}
Елементарен е но толкова мога в момента на PERL.
Виждаш как получавам данните и как ги обработвам.
Проверявам с няколко условия дали е написал верния отговор и ако го е написал му вдигам точките с едно.
Абе надявам се да ти свърши работа.
Ако не друго поне работи.
То и това не е малко.
