Автор работы: Пользователь скрыл имя, 02 Апреля 2014 в 22:22, курсовая работа
Разрабатываемая система позволяет предприятию через Internet объявить конкурс на имеющиеся у нее вакантные должности, собирать и хранить сведения об участниках конкурса в виде заполняемых ими анкет.
Администратор имеет возможность вносить в базу данных новые вакансии, удалять занятые, а также редактировать список присланных анкет, отбирая наиболее перспективные для деятельности предприятия.
1 Задание
2 Анализ задания
3 Проектирование базы данных
4 Разработка CGI-программ и HTML-документов
5 Схема размещения информации на Internet узле
6 Контрольный пример
7 Выводы
8 Список литературы
и 2 ссылки:
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/
print "       ";
print qq{<A href="http://myserver/cgi-bin/
print "</center>";
print "<FORM action=\"http://myserver/cgi-
print "<center><table border=0>";
print qq{<tr><td><p ALIGN="center"><font
size="5"><strong><font color="#800000">Список
вакансий    </font></
print "<td><center><INPUT type=\"submit\"
value=\"Добавить\"></center\><
print "</table></center>";
print "</FORM>";
$dbh=DBI->connect("dbi:mysql:
$sth=$dbh->prepare("SELECT * FROM t1;");
$rows=$sth->execute();
print "<form action=\"http://myserver/cgi-
print "<center><table border=1>";
print qq{<tr ALIGN="center"><th> №&
<th>Вакансия</th>
<th>Пометить<br>на удаление</th></font></tr>};
for($i=0;$i<$rows;$i++)
{
($bakans,$knkrs,$ed,$Cpc,$
$i++;
print"<tr>
<td ALIGN=\"center\">$i</td>
<td>$bakans</td>
<TD><center><INPUT type=\"checkbox\" name=\"vdel$i\"
value=\"vdel$i\"></center></
</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\></
print "</FORM>";
print "<td><FORM action=\"http://myserver/cgi-
print "<center><INPUT type=\"submit\"
value=\"На главную\"></center\
print "</FORM>";
print "</table></center>";
}
else
{
print h1("Неправильный пароль!!!");
}
print end_html();
Файл BDankets.cgi – исполняемая программа.
Выводит список анкет на основе данных таблицы t2 и предлагает администратору удалить наименее перспективные.
Имеет 2 кнопки:
и 2 ссылки:
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/
print "       ";
print qq{<A href="http://myserver/cgi-bin/
print "</center>";
print qq{<p ALIGN="center"><font
size="5"><strong><font color="#800000">Список анкет    </font></
$dbh=DBI->connect("dbi:mysql:
$sth=$dbh->prepare("SELECT * FROM t2;");
$rows=$sth->execute();
print "<form action=\"http://myserver/cgi-
print "<center><table border=1>";
print qq{<tr ALIGN="center"><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,$
$i++;
print"<tr>
<td><center>$i</center></td>
<td><center>$fio</center></td>
<td><center>$eda</center></td>
<td><center>$cpca</center></
<td><center>$croka</center></
<td><center>$adress</center></
<td><center>$vak</center></td>
<TD><center><INPUT type=\"checkbox\"
name=\"vdel$i\" value=\"vdel$i\"></center></
</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\></
print "</FORM>";
print "<td><FORM action=\"http://myserver/cgi-
print "<center><INPUT type=\"submit\" value=\"На
главную\"></center\></td></tr>
print "</FORM>";
print "</table></center>";
print end_html();
Файл Addvakan.cgi – исполняемая программа.
Предлагает администратору форму для внесения данных для новой вакансии
Имеет 2 кнопки:
Addvakan.cgi
use CGI qw(:standard);
use DBI;
print header();
print start_html("Добавление Вакансии");
print qq{<body bgcolor="#faf1d8">};
print "<center><h1>Заполните
данные для новой вакансии</h1>
print "<form action=\"http://myserver/cgi-
print "<center><table>";
print "<TR><TD>Должность</TD><TD><
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><
print "<TR><TD>Стаж работы по специальности, лет </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 кнопки:
и 2 ссылки:
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/
print "       ";
print qq{<A href="http://myserver/cgi-bin/
print "</center>";
$dbh=DBI->connect("dbi:mysql:
$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','$
$dbh->do($sql);
print "<br>";
$sth->finish();
$dbh->disconnect();
}
else {print qq{<br><center><font size="4">Вы
не ввели данные. Повторите ввод.</font></
print "<center><table border=0>";
print "<tr><td><FORM action=\"http://myserver/cgi-
print "<center><INPUT type=\"submit\" value=\"Назад\"></center\>";
print "</FORM></td>";
print "<td><FORM action=\"http://myserver/cgi-
print "<center><INPUT type=\"submit\"
value=\"На главную\"></center\
print "</FORM></td></tr>";
print "</table></center>";
print end_html();
Файл vakdel.cgi– исполняемая программа.
Служебная программа для удаления вакансии из таблицы t1.
Имеет 1 кнопку:
и 2 ссылки:
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/
print "       ";
print qq{<A href="http://myserver/cgi-bin/
print "</center>";
$dbh=DBI->connect("dbi:mysql:
$sth=$dbh->prepare("SELECT * FROM t1;");
$rows=$sth->execute();
for($i=0;$i<$rows;$i++)
{ $i++;
($bakans,$knkrs,$ed,$Cpc,$
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-
print "<center><INPUT type=\"submit\" value=\"На главную\"></center\>";
print "</FORM>";
print end_html();
Файл ankdel.cgi– исполняемая программа.
Служебная программа для удаления анкеты из таблицы t2 и уменьшения значения конкурса на вакансию в таблице t1.
Имеет 1 кнопку:
и 2 ссылки:
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/
print "       ";
print qq{<A href="http://myserver/cgi-bin/
print "</center>";
$dbh=DBI->connect("dbi:mysql:
$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,$
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-
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