Студентам > Курсовые > Проектирование информационных систем на базе MySQL и Internet
Проектирование информационных систем на базе MySQL и InternetСтраница: 2/4
print "</FORM></td>";
print "<td><FORM action="http://myserver/cgi-bin/Konti.bat">";
print "<center><INPUT type="submit"
value="На главную"></center>";
print "</FORM></td></tr>";
print "</table></center>";
goto quit;
}
$dbh=DBI->connect("dbi:mysql:konti");
$sth=$dbh->prepare("SELECT * FROM t1;");
$rows=$sth->execute();
print "<center><h1>Заполните анкетные данные</h1></center>";
print qq{<p ALIGN="center"><font
size="5">};
print
"<center><u>Основные требования к
кандидату</u></center>";
for($i=0;$i<$var+1;$i++)
{
($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;
if ($i==$var)
{
print "<center><table>";
print "<TR><TD>Образование</TD><TD>-
$ed</TD></TR>";
print "<TR><TD>Специальность</TD><TD>- $Cpc</TD></TR>";
print
"<TR><TD>Срок работы по специальности,
лет </TD><TD>- $Crok</TD></TR>";
print "</center></table>";
}
}
print "</font></p>";
$sth->finish();
$dbh->disconnect();
print "<form action="http://myserver/cgi-bin/itog.bat">";
print "<center><table>";
print "<TR><TD>Фамилия имя отчество</TD><TD><input
name="fio"></TD></TR>";
print
"<TR><TD>Образование</TD>
<TD><SELECT
name="ed">
<OPTION value="высшее0"
selected>высшее
<OPTION value="нез/высшее1">нез/высшее
<OPTION value="ср. техническое2">ср.
техническое
<OPTION value="ср. специальное3">ср. специальное
<OPTION value="среднее4">среднее
</SELECT>
</TD></TR>";
print "<TR><TD>Специальность</TD><TD><input
name="cpc"></TD></TR>";
print "<TR><TD>Стаж работы по специальности, лет </TD><TD><input
name="crok"></TD></TR>";
print "<TR><TD>Адрес</TD><TD><input
name="adress"></TD></TR>";
print
"<TR><TD><BR></TD></TR>";
print qq{<INPUT type="hidden" name="vib"
value=$pas>};
print "<TR><TD><input
type="submit" value="Отправить"></TD>
<TD><INPUT type="reset" value="Очистить форму"></TD></TR>";
print "</table></center>";
print "</form>";
quit:
print end_html();
Файл itog.cgi – исполняемая
программа.
Проверяет введенные анкетные данные на соответствие основным
требованиям к претенденту, при выполнении которых заносит их в таблицу
t2 и увеличивает значение конкурса на выбранную вакансию в
таблице t1, в противном случае выводит мотивированное
сообщение об отказе в принятии анкеты.
Имеет 2 кнопки:
- “Назад" - запускает скрипт itog.cgi;
- "На главную"
- запускает скрипт Konti.cgi.
itog.cgi
use CGI qw(:standard);
use DBI;
print header();
print start_html("Добавление Анкеты");
print qq{<body bgcolor="#faf1d8">};
$dbh=DBI->connect("dbi:mysql:konti");
$sth=$dbh->prepare("SELECT * FROM t1;");
$rows=$sth->execute();
$fio=param('fio');
$eda=param('ed');
$eda0=$eda;
$eda=~ s/d+//;
$eda0=~ s/D+//;
$cpca=param('cpc');
$cpca=~ tr/А-Я/а-я/;
$croka=param('crok');
$adress=param('adress');
$var=param('vib');
$var=~ s/D+//;
print "<br>";
print qq{<p ALIGN="center"><font
size="4"><strong><font color="#800000">};
for($i=0;$i<$var+1;$i++)
{
($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;
if ($i==$var)
{
if ($ed="высшее") {$ed0=0;} elsif ($ed="нез/высшее")
{$ed0=1;} elsif ($ed="ср. техническое") {$ed0=2;} elsif ($ed="ср.
специальное") {$ed0=3;} else {$ed0=4;}
if ($eda0 > $ed0) {$fe=1;} else {$fe=0;}
if ($cpca ne $Cpc) {$fcp=1;} else {$fcp=0;}
if ($croka < $Crok) {$fcr=1;} else {$fcr=0;}
if
($fe==1 or $fcp==1
or $fcr==1) {print qq{Извините, $fio, но Ваша анкета не принята
к рассмотрению из-за несоответствия указанных в ней данных требованиям к
кандидату};}
else {
my $sth=$dbh->prepare("SELECT * FROM t2;");
my $rows=$sth->execute();
$flag=0;
for($j=0;$j<$rows;$j++)
{
($fio2,$eda2,$cpca2,$croka2,$adress2,$vak2)=$sth->fetchrow_array;
if ($fio2 eq $fio)
{
$flag=1;
$knkrs=$knkrs-1;
$sql="update t1 set knkrs='$knkrs' where prof='$bakans';";
$dbh->do($sql);
}
}
$knkrs=$knkrs+1;
$sql="update t1 set knkrs='$knkrs' where prof='$bakans';";
$dbh->do($sql);
$sth->finish();
if ($flag==0) {
print qq{Уважаемый, $fio, Ваша анкета принята для участия в конкурсе.<br><br>Желаем успеха!};
$sql="INSERT
INTO t2(fio,eda,cpca,croka,adress,vak)values('$fio','$eda','$cpca','$croka','$adress','$bakans')";
$dbh->do($sql);
}
else {
print qq{Уважаемый,
$fio, в базе данных уже имеется
анкета на Ваше имя, фамилию, отчество. Если Вы хотите заполнить новую анкету -
измените свои ФИО дополнив, например, цифровым символом ($fio-2).<br><br>};
}
}
}
}
print qq{</font></strong></font></p>};
$sth->finish();
$dbh->disconnect();
print "<br>";
print "<center><table border=0>";
print "<tr><td><FORM action="http://myserver/cgi-bin/anketa.bat">";
print qq{<INPUT type="hidden" name="vibor"
value="vibor$var">};
print "<center><INPUT type="submit"
value="Назад"></center>";
print "</FORM></td>";
print "<td><FORM action="http://myserver/cgi-bin/Konti.bat">";
print "<center><INPUT type="submit"
value="На главную"></center>";
print "</FORM></td></tr>";
print "</table></center>";
print end_html();
Файл BDvakans.cgi – исполняемая программа.
Выводит список вакансий на основе данных таблицы
t1 и предлагает администратору добавить новые вакансии или
удалить уже занятые.
Имеет 3 кнопки:
- “Добавить" - запускает скрипт Addvakan.cgi;
- “Удалить" - запускает скрипт vakdel.cgi;
- “На главную" - запускает скрипт
Konti.cgi.;
и 2 ссылки:
- “Список вакансий"
- запускает скрипт BDvakans.cgi;
- “Список анкет" - запускает скрипт
BDankets.cgi.
BDvakans.cgi
|