Автор работы: Пользователь скрыл имя, 06 Марта 2011 в 20:26, курсовая работа
Цель данной курсовой работы — разработка интернет-магазина , который упрощает покупку необходимых товаров.
В качестве средств для реализации поставленной задачи были выбраны: веб-сервер Apache, sql-сервер MySQL и языки программирования Perl и JavaScript.
Введение……………….………………………………………………………...
1 Web-приложение «Сайт системы научных конференций»....…………........
1.1 Анализ требований………………………………………….…................
1.1.1 Анализ предметной области…………………...................................
1.1.2 Анализ функциональных требований………....................................
1.1.3 Анализ требований к интерфейсу пользователя...............................
1.1.4 Выбор технологий и инструментальных программных средств....
1.2. Проектирование……………………………….........................................
1.2.1 Проектирование структуры данных……………………………......
1.2.2 Проектирование структуры программного обеспечения и алгоритмов.........................................................................................
1.2.3 Проектирование пользовательского интерфейса..............................
1.3 Реализация……………………………………...........................................
1.3.1 Программная реализация...................................................................
1.3.2 Кодирование…………….....................................................................
1.4 Тестирование…………………………………...........................................
Заключение…………………………………………………………..…………..
Список использованных источников………………………………..…………
Приложение А. Код приложения ……………………….......……….………...
Приложение Б. Результаты тестирования……………..………………………
</
</
</td>
</tr>
</table>
<table width="100%" cellspacing='0' cellpadding='0' border='0'>
<tr height="55">
<td width="7" nowrap style="background: url(images/fon01.gif) repeat-y;"></td>
<td width="100%" align="center"
style="padding-top:30px;" bgcolor="#000000">©
Kino</td>
</tr>
</table>
<table width="100%" cellspacing='0' cellpadding='0' border='0'>
<tr height="8">
<td width="100%" style="background: url(images/fon08.gif) right no-repeat;"></td>
</tr>
</table>
</td>
<td width="1" nowrap bgcolor="#979797"></td>
<td width="100%" bgcolor="#CCFFFF"
style="padding-top:3px;
<!-- Content -->
<div
style="margin: 0 10 0 10">
<div style=" font-size:13px; font-weight:bold"><TMPL_IF title><TMPL_VAR NAME=title></TMPL_IF></div>
<div
style=" font-size:11px; font-weight:bold; color:#999999; margin-bottom:20px;"><TMPL_IF
title2><TMPL_VAR NAME=title2></TMPL_IF></div>
<TMPL_IF
ok><div class="ok"><TMPL_LOOP NAME=ok><li><TMPL_VAR
NAME="text"></li></TMPL_LOOP><
<TMPL_IF
error><div class="error"><TMPL_LOOP NAME=error><li><TMPL_VAR
NAME="text"></li></TMPL_LOOP><
<div style="margin: 0 11 0 11">
<TMPL_IF content><TMPL_VAR NAME=content></TMPL_IF>
</div>
<div
style="height:20px;"> </
</div>
<!--
/Content -->
</td>
<td width="1" nowrap bgcolor="#979797"></td>
<td width="1" nowrap></td>
</tr>
</table>
<table width="1002" cellspacing="0" cellpadding="0" border="0">
<tr height="51">
<td width="201" nowrap></td>
<td width="20" nowrap valign="top" style="background: url(images/bot_angle_left.gif) no-repeat;"></td>
<td width="100%" style="background:
url(images/bot_cent.gif) repeat-x;" align="center">
<table cellspacing='0' cellpadding='0' border='0'>
<tr>
<td>
<!-- <a href="" class="botmenu">Ссылка 1</a> -->
</td>
</tr>
</table>
</td>
<td width="11" nowrap
valign="top" style="background: url(images/bot_angle_right.
<td width="1" nowrap></td>
</tr>
</table>
</center>
</body>
</html>
Admin.pl
#!/usr/bin/perl
use lib '../mod';
use DBI();
use DBD::mysql;
use CGI qw/:standard/;
use CGI::Cookie;
use Time::Local;
use CGI::Carp 'fatalsToBrowser';
use
HTML::Template;
require
"../setup.inf"; #переменные
require
"sub.pm"; #переменные
#подключеие БД
$dbh
= DBI->connect("DBI:mysql:
$dbh->do("SET
NAMES 'cp1251'");
$fid = param('id');
$fid2 = param('id2');
$action
= param('action');
$login_in = param('login_in'); # для входа по паролю
$pass_in
= param('pass_in'); #
$buffer2
= $ENV{'QUERY_STRING'};
#От SQL Иньекций
$fid
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
$fid2
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
$action
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
$login_in
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
$pass_in
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
#/От
SQL Иньекций
@pairs2 = split(/&/, $buffer2);
foreach $pair2 (@pairs2) {
($name2, $value2) = split(/=/, $pair2);
$value2 =~ tr/+/ /;
$value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/
$FORM{$name2} = $value2;
}
$form_fid
= $FORM{"id"}; $form_fid =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
$viev = $FORM{"viev"};
$act
= $FORM{"act"};
if ($act eq ''){ #если $act пусто. Возможно при нажатии на кнопку в форме
($xxx) = $ENV{'REQUEST_URI'} =~ m#([^\\/:]+)$#;
# ($act) = split (/\./,$xxx);
# ($act, $fid) = split (/-/,$act);
@pairs2 = split(/&/, $xxx);
foreach $pair2 (@pairs2) {
($name2, $value2) = split(/=/, $pair2);
$value2 =~ tr/+/ /;
$value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/
$FORM{$name2} = $value2;
}
$act = $FORM{'act'};
$fid = $FORM{'id'};
$viev = $FORM{"viev"};
}
else
{$fid = $form_fid;}
#Оставляем только числа
if ($fid) {$fid =~ s/(\d+)/$1/;$fid = $1;}
if ($fid2){$fid2 =~ s/(\d+)/$1/;$fid2 = $1;}
#/Оставляем
только числа
#-------------------------
$timeoffset = 0;
($sec,$min,$hour,$mday,$
$mon++;
$mday = "0$mday" if ($mday < 10);
$mon = "0$mon" if ($mon < 10);
$hour = "0$hour" if ($hour < 10);
$min = "0$min" if ($min < 10);
$year = 2000 + ($year - 100);
$data_form = "$mday.$mon.$year";
$reg_date = "$year-$mon-$mday";
$time_form = "$hour:$min:$sec";
#-------------------------
##########################
# Проверка паролей #
##########################
require "modul/autentification.pl";
##########################
####<<< SEREDINKA
if ($act eq '') {require "ind.pl";}
elsif ($act eq 'firma') {require "firma.pl";}
elsif ($act eq 'model') {require "model.pl";}
elsif ($act eq 'sale') {require "sale.pl";}
else
{print "Location: http://$ENV{'SERVER_NAME'}/
####>>>
#Информационные сообщения
if (@ok){$HTML_SITE{ok} = \@ok;}
if (@error){$HTML_SITE{error} = \@error;}
#/Информационные
сообщения
print
"Content-type: text/html\n\n";
my $template = HTML::Template->new(filename => 'html/admin.html');
$template->param(%HTML_
my
$HTML_SITE_out = $template->output;
print <<EOF;
$HTML_SITE_out
EOF
#отключение БД
$dbh->disconnect();
Ind.pl
1;
$HTML_SITE{title} = 'Главная страница';
$HTML_SITE{title2} = 'Добро пожаловать в систему администрирования Интернет-магазина';
$HTML_SITE{content} = 'Для работы с данной частью приложения воспользуйтесь пунктами меню в левой части экрана.';
1;
Model.pl
1;
my $sth = $dbh->prepare("SELECT id,Name_Firma FROM Firma");
$sth->execute();
while
(my $ref = $sth->fetchrow_hashref()) {
$sel.=qq[<option
value="$ref->{'id'}">$ref->{'
$sth->finish();
my $sth = $dbh->prepare("SELECT id,name FROM Pol");
$sth->execute();
while
(my $ref = $sth->fetchrow_hashref()) {
$sel1.=qq[<option
value="$ref->{'id'}">$ref->{'
$sth->finish();
my $sth = $dbh->prepare("SELECT id,name FROM Kreplen");
$sth->execute();
while
(my $ref = $sth->fetchrow_hashref()) {
$sel2.=qq[<option
value="$ref->{'id'}">$ref->{'
$sth->finish();
my $sth = $dbh->prepare("SELECT id,name FROM Mechanism");
$sth->execute();
while
(my $ref = $sth->fetchrow_hashref()) {
$sel3.=qq[<option
value="$ref->{'id'}">$ref->{'
$sth->finish();
#act
if ($action eq 'Изменить') {&edit;}
elsif ($action eq 'Добавить'){&add;}
elsif
($action eq 'Удалить') {&del;}
#viv
if ($viev eq 'edit') {&blokedit;}
elsif ($viev eq 'add') {&blokadd;}
else
{&blokviev;}
##########################
sub
blokviev {
my $sth = $dbh->prepare("SELECT Model.*,Firma.Name_Firma as Nfirma,Pol.name as Pname,Kreplen.name as Kname,Mechanism.name as Mname
FROM Model inner join Firma on Model.id_Firma = Firma.id
inner join Pol on Model.id_Pol = Pol.id
inner join Kreplen on Model.id_Kreplen = Kreplen.id
inner join Mechanism on Model.id_Mechanism = Mechanism.id");
$sth->execute();
while
(my $ref = $sth->fetchrow_hashref()) {
Информация о работе Web-приложение «Сайт системы научных конференций»