Проектирование информационных систем На базе MySQL и Internet

Автор работы: Пользователь скрыл имя, 22 Июня 2015 в 00:06, курсовая работа

Краткое описание

Разрабатываемая система позволяет предприятию через Internet объявить конкурс на имеющиеся у нее вакантные должности, собирать и хранить сведения об участниках конкурса в виде заполняемых ими анкет.

Администратор имеет возможность вносить в базу данных новые вакансии, удалять занятые, а также редактировать список присланных анкет, отбирая наиболее перспективные для деятельности предприятия.

Содержание

1 Задание
2 Анализ задания
3 Проектирование базы данных
4 Разработка CGI-программ и HTML-документов
5 Схема размещения информации на Internet узле
6 Контрольный пример
7 Выводы
8 Список литературы

Прикрепленные файлы: 1 файл

ref_7989_parta_ua.doc

— 337.00 Кб (Скачать документ)
  • “Добавить" - запускает скрипт Addvakan.cgi;
  • “Удалить" - запускает скрипт vakdel.cgi;
  • “На главную" - запускает скрипт Konti.cgi.;

и 2 ссылки:

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

 

BDvakans.cgi

 

use CGI qw(:standard);

use DBI;

print header();

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

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

my $pass=param("111");

if (111)

{

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

print "<center>";

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

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

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

print "</center>";

 

print "<FORM action=\"http://myserver/cgi-bin/Addvakan.bat\">";

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

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

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

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

print "</FORM>";

 

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

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

$rows=$sth->execute();

print "<form action=\"http://myserver/cgi-bin/vakdel.bat\">";

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

print qq{<tr ALIGN="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>

<td ALIGN=\"center\">$i</td>

<td>$bakans</td>

<TD><center><INPUT type=\"checkbox\" name=\"vdel$i\" value=\"vdel$i\"></center></TD>

</tr>";

  $i--;

}

$sth->finish();

$dbh->disconnect();

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

print "<br>";

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

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

print "</FORM>";

 

print "<td><FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

print "<center><INPUT type=\"submit\" value=\"На главную\"></center\></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{<A href="http://myserver/cgi-bin/BDvakans.bat"><font size="5">Список вакансий</A>};

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

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

print "</center>";

 

print qq{<p ALIGN="center"><font size="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 "<form action=\"http://myserver/cgi-bin/ankdel.bat\">";

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

print qq{<tr ALIGN="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=\"checkbox\" name=\"vdel$i\" value=\"vdel$i\"></center></TD>

</tr>";

  $i--;

}

$sth->finish();

$dbh->disconnect();

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

print "<br>";

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

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

print "</FORM>";

 

print "<td><FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

print "<center><INPUT type=\"submit\" value=\"На главную\"></center\></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();

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

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

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

print "<form action=\"http://myserver/cgi-bin/Dob.bat\">";

print "<center><table>";

print "<TR><TD>Должность</TD><TD><input name=\"profv\"></TD></TR>";

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

   <TD><SELECT name=\"edv\">

           <OPTION value=\"высшее\" selected>высшее

   <OPTION value=\"нез/высшее\">нез/высшее

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

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

           <OPTION value=\"среднее\">среднее

           </SELECT>

   </TD></TR>";

print "<TR><TD>Специальность</TD><TD><input name=\"cpcv\"></TD></TR>";

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

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

print "<TR><TD><input type=\"submit\" value=\"Отправить данные\"></TD>

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

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

print "<br>";

print "</form>";

print end_html();

 

 

 

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

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

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

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

и 2 ссылки:

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

 

 

 

Dob.cgi

 

use CGI qw(:standard);

use DBI;

print header();

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

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

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

print "<center>";

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

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

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

print "</center>";

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

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

 

my $profv=param("profv");

my $edv=param("edv");

my $cpcv=param("cpcv");

my $crokv=param("crokv");

    $crokv=~ s/\D+//;

if ($profv ne "")

{

$sql=qq{insert into t1(prof, knkrs, ed, cpc, crok) values ('$profv',0,'$edv','$cpcv','$crokv');};

$dbh->do($sql);

print "<br>";

$sth->finish();

$dbh->disconnect();

}

else {print qq{<br><center><font size="4">Вы  не ввели данные. Повторите ввод.</font></center><br>};}

 

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

print "<tr><td><FORM action=\"http://myserver/cgi-bin/Addvakan.bat\">";

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();

 

 

 

 

 

 

 

 

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

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

Имеет 1 кнопку:

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

и 2 ссылки:

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

 

vakdel.cgi

 

use CGI qw(:standard);

use DBI;

print header();

print start_html("Удаление Вакансии");

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

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

print "<center>";

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

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

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

print "</center>";

 

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

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

$rows=$sth->execute();

 

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

{ $i++;

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

   my $var=param("vdel$i");

   $var=~ s/\D+//;

   if ($i==$var)

     {

     $sql="delete from t1 where prof=\"$bakans\";";

     $dbh->do($sql);

     }

   $i--;

}

$sth->finish();

$dbh->disconnect();

 

print "<br>";

 

print "<FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

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

print "</FORM>";

 

print end_html();

 

 

 

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

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

Имеет 1 кнопку:

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

и 2 ссылки:

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

 

ankdel.cgi

 

use CGI qw(:standard);

use DBI;

print header();

print start_html("Удаление Анкеты");

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

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

print "<center>";

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

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

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

print "</center>";

 

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

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

$rows=$sth->execute();

 

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

{ $i++;

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

   my $var=param("vdel$i");

   $var=~ s/\D+//;

   if ($i==$var)

     {

$sql="delete from t2 where fio=\"$fio\";";

         $dbh->do($sql);   

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

my $rows=$sth->execute();

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

  {

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

    if ($bakans eq $vak)

    {

        $knkrs=$knkrs-1;

$sql="update t1 set knkrs='$knkrs' where prof='$vak';";

   $dbh->do($sql);

    }

  }

$sth->finish();

     }

   $i--;

}

$sth->finish();

$dbh->disconnect();

 

print "<br>";

 

print "<FORM action=\"http://myserver/cgi-bin/Konti.bat\">";

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

print "</FORM>";

 

print end_html();

 

 

 

 

 

Схема размещения информации на Internet-узле

 

На сервере информация располагается следующим образом:

 

C:\Apache\

           htdocs\

 

Kontinental-HH.htm

titul.htm

          cgi-bin\

 

Addanket.bat

Addvakan.bat

Addvakan.cgi

ankdel.bat

ankdel.cgi

anketa.bat

anketa.cgi

BDankets.bat

BDankets.cgi

BDvakans.bat

BDvakans.cgi

Dob.bat

Dob.cgi

itog.bat

itog.cgi

Konti.bat

Konti.cgi

konti.txt

list.bat

list.cgi

start.bat

vakdel.bat

vakdel.cgi


 

 

 

Контрольный пример работы пользователя.

 

Главная страница (Kontinental-HH.htm):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выбор вакансии (list.cgi):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заполнение анкеты (anketa.cgi):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Успешное внесение анкеты в базу данных (itog.cgi):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контрольный пример работы администратора

Просмотр списка вакансий (BDvakans.cgi).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Просмотр списка вакансий (BDankets.cgi).

 

 

 

 

Информация о работе Проектирование информационных систем На базе MySQL и Internet