Смекни!
smekni.com

Проектирование информационных систем на базе MySQL и Internet (стр. 2 из 3)

Имеет 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/&bsol;d+//;

 $eda0=~ s/&bsol;D+//;

 $cpca=param('cpc');

 $cpca=~ tr/А-Я/а-я/;

 $croka=param('crok');

 $adress=param('adress');

 $var=param('vib');

 $var=~ s/&bsol;D+//;

 print "<br>";

print qq{<p ALIGN="center"><fontsize="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' whereprof='$bakans';";

   $dbh->do($sql);

   $sth->finish();

    if ($flag==0)   {

    print qq{Уважаемый, $fio, Ваша анкета принята для участия в конкурсе.<br><br>Желаем успеха!};

   $sql="INSERTINTOt2(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><FORMaction=&bsol;"http://myserver/cgi-bin/anketa.bat&bsol;">";

 print qq{<INPUT type="hidden"name="vibor" value="vibor$var">};

 print "<center><INPUT type=&bsol;"submit&bsol;"value=&bsol;"Назад&bsol;"></center&bsol;>";

 print "</FORM></td>";

 print "<td><FORMaction=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

 print "<center><INPUT type=&bsol;"submit&bsol;"value=&bsol;"На главную&bsol;"></center&bsol;>";

 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

use CGI qw(:standard);

 use DBI;

 print header();

 printstart_html("Список Вакансий");

 print qq{<bodybgcolor="#faf1d8">};

 my$pass=param("111");

 if (111)

{

 print"<center><h1>База данных</h1></center>";

 print"<center>";

 print qq{<Ahref="http://myserver/cgi-bin/BDvakans.bat"><fontsize="5">Список вакансий</A>};

 print "&nbsp&nbsp &nbsp &nbsp";

 print qq{<Ahref="http://myserver/cgi-bin/BDankets.bat">Списоканкет</font></A>};

 print"</center>";

 print "<FORMaction=&bsol;"http://myserver/cgi-bin/Addvakan.bat&bsol;">";

 print"<center><table border=0>";

 printqq{<tr><td><p ALIGN="center"><fontsize="5"><strong><fontcolor="#800000">Список вакансий&nbsp&nbsp&nbsp</font></strong></font></td>};

 print"<td><center><INPUT type=&bsol;"submit&bsol;"value=&bsol;"Добавить&bsol;"></center&bsol;></td></tr></p>";

 print"</table></center>";

 print"</FORM>";

 $dbh=DBI->connect("dbi:mysql:konti");

 $sth=$dbh->prepare("SELECT* FROM t1;");

 $rows=$sth->execute();

 print "<formaction=&bsol;"http://myserver/cgi-bin/vakdel.bat&bsol;">";

 print"<center><table border=1>";

 print qq{<trALIGN="center"><th>&nbsp№&nbsp</th>

                <th>Вакансия</th>

                 <th>Пометить<br>на удаление</th></font></tr>};

 for($i=0;$i<$rows;$i++)

 {

 ($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

  $i++;

  print"<tr>

  <tdALIGN=&bsol;"center&bsol;">$i</td>

  <td>$bakans</td>

  <TD><center><INPUTtype=&bsol;"checkbox&bsol;" name=&bsol;"vdel$i&bsol;"value=&bsol;"vdel$i&bsol;"></center></TD>

  </tr>";

  $i--;

 }

 $sth->finish();

 $dbh->disconnect();

 print"</table></center>";

 print"<br>";

 print"<center><table border=0>";

 print"<tr><td><center><INPUT type=&bsol;"submit&bsol;"value=&bsol;"Удалить&bsol;"></center&bsol;></td>";

 print"</FORM>";

 print"<td><FORMaction=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

 print"<center><INPUT type=&bsol;"submit&bsol;" value=&bsol;"Наглавную&bsol;"></center&bsol;></td></tr>";

 print"</FORM>";

 print"</table></center>";

}

else

{

 print h1("Неправильныйпароль!!!");

}

print end_html();

Файл BDankets.cgi – исполняемая программа.

Выводит список анкет на основе данных таблицы t2 и предлагает администратору удалить наименее перспективные.

Имеет 2 кнопки:

-    “Удалить" - запускает скрипт ankdel.cgi;

-    “На главную" - запускает скрипт Konti.cgi;

и 2 ссылки:

-    “Список вакансий"- запускает скрипт BDvakans.cgi;

-    “Список анкет" - запускает скрипт BDankets.cgi.

BDankets.cgi

use CGI qw(:standard);

 use DBI;

 print header();

 print start_html("Список Анкет");

 print qq{<body bgcolor="#faf1d8">};

 my $pass=param("111");

 print "<center><h1>База данных</h1></center>";

 print "<center>";

 print qq{<Ahref="http://myserver/cgi-bin/BDvakans.bat"><fontsize="5">Список вакансий</A>};

 print "&nbsp &nbsp &nbsp &nbsp";

 print qq{<Ahref="http://myserver/cgi-bin/BDankets.bat">Список анкет</font></A>};

 print "</center>";

 print qq{<p ALIGN="center"><fontsize="5"><strong><font color="#800000">Список анкет&nbsp&nbsp&nbsp</font></strong></font>};

 $dbh=DBI->connect("dbi:mysql:konti");

 $sth=$dbh->prepare("SELECT * FROM t2;");

 $rows=$sth->execute();

 print "<formaction=&bsol;"http://myserver/cgi-bin/ankdel.bat&bsol;">";

 print "<center><table border=1>";

 print qq{<trALIGN="center"><th>&nbsp№&nbsp</th>

                <th>Фамилия Имя Отчество</th>

               <th>Образование</th>

               <th>Специальность</th>

               <th>Срок работы по спец-ти</th>

               <th>Адрес</th>

                <th>Вакансия</th>

                <th>Пометить<br>наудаление</th></font></tr>};

 for($i=0;$i<$rows;$i++)

 {

  ($fio,$eda,$cpca,$croka,$adress,$vak)=$sth->fetchrow_array;

  $i++;

  print"<tr>

  <td><center>$i</center></td>

  <td><center>$fio</center></td> 

  <td><center>$eda</center></td> 

  <td><center>$cpca</center></td>

  <td><center>$croka</center></td>   

  <td><center>$adress</center></td>  

  <td><center>$vak</center></td> 

  <TD><center><INPUT type=&bsol;"checkbox&bsol;"name=&bsol;"vdel$i&bsol;"value=&bsol;"vdel$i&bsol;"></center></TD>

  </tr>";

  $i--;

 }

 $sth->finish();

 $dbh->disconnect();

 print "</table></center>";

 print "<br>";

 print "<center><table border=0>";

 print "<tr><td><center><INPUTtype=&bsol;"submit&bsol;" value=&bsol;"Удалить&bsol;"></center&bsol;></td>";

 print "</FORM>";

 print "<td><FORMaction=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

 print "<center><INPUT type=&bsol;"submit&bsol;"value=&bsol;"На главную&bsol;"></center&bsol;></td></tr>";

 print "</FORM>";

 print "</table></center>";

print end_html();

Файл Addvakan.cgi– исполняемая программа.

Предлагает администратору форму для внесения данных для новойвакансии

Имеет 2 кнопки:

-    “Отправить данные" - запускает скрипт Dob.cgiи передает в него данные новой вакансии;

-    “Очистить форму" - стирает из формы ошибочно введенные данные.

Addvakan.cgi

use CGI qw(:standard);

 use DBI;

 print header();

 printstart_html("Добавление Вакансии");

 print qq{<bodybgcolor="#faf1d8">};

print"<center><h1>Заполните данные для новойвакансии</h1></center>";

print "<formaction=&bsol;"http://myserver/cgi-bin/Dob.bat&bsol;">";

print "<center><table>";

print "<TR><TD>Должность</TD><TD><inputname=&bsol;"profv&bsol;"></TD></TR>";

print"<TR><TD>Образование</TD>

    <TD><SELECTname=&bsol;"edv&bsol;">

           <OPTION value=&bsol;"высшее&bsol;"selected>высшее

     <OPTION value=&bsol;"нез/высшее&bsol;">нез/высшее

           <OPTION value=&bsol;"ср. техническое&bsol;">ср.техническое

          <OPTION value=&bsol;"ср. специальное&bsol;">ср. специальное

          <OPTION value=&bsol;"среднее&bsol;">среднее

          </SELECT>

     </TD></TR>";

print "<TR><TD>Специальность</TD><TD><inputname=&bsol;"cpcv&bsol;"></TD></TR>";

print "<TR><TD>Стаж работыпо специальности, лет&nbsp</TD><TD><inputname=&bsol;"crokv&bsol;"></TD></TR>";

print "<TR><TD><BR></TD></TR>";

print "<TR><TD><inputtype=&bsol;"submit&bsol;" value=&bsol;"Отправить данные&bsol;"></TD>

     <TD><INPUT type=&bsol;"reset&bsol;" value=&bsol;"Очистить форму&bsol;"></TD></TR>";

print "</table></center>";

print "<br>";

print "</form>";

print end_html();

Файл Dob.cgi– исполняемая программа.

Служебная программа для проверки наличия введенных данных и ихвнесения в таблицу t1. При отсутствии данных предлагает вернутьсяназад или на главную страницу.

Имеет 2 кнопки:

-    “Назад" - запускает скрипт Addvakan.cgi;;

-    “На главную" - запускает скрипт Konti.cgi;;