Автор работы: Пользователь скрыл имя, 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>
    <td 
width=170 valign="center" align="center"><b><font 
color="blue">$ref->{Sdata}</
</td>
    <td 
width=50 valign="center" align="center"><b><font 
color="blue">$ref->{Mprice}</
</td>
    <td><a 
href="#" onclick="del_id('$ref->{id}')"
</td>
</table>
    LINES 
}
    $sth->finish(); 
    $HTML_SITE{content}.=<<
<form style="display: none" method="POST" action="" id="deletes" name="deletes"><input type="hidden" name="ids" value=""><input type="hidden" name="action" value="Удалить"></form>
    LINES 
    $HTML_SITE{title} 
= "Просмотр сведений о покупках"; 
 
}
    ##########################
sub del {
    my 
$ids = param("ids"); $ids =~s/\D//g; 
if ($ids) {
#Удаление из базы
$sth=$dbh->do("DELETE FROM $act WHERE (id='$ids')"); # удаляем старые
if ($sth) { push @ok, {text=>"Элемент удалён"};}
else { push @error, {text=>"Элемент не удалён"};}
}
else {
push @error, {text=>"Ошибка. Возможно отключен JavaScript"};
         
} 
    } 
 
    1; 
 
 
 
 
Пользовательская часть
Index.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('id1');
$fid2 = param('id2');
    $action 
= param('action'); 
 
    $buffer2 
= $ENV{'QUERY_STRING'}; 
#От SQL Иньекций
    $fid    
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
    $fid2   
=~ s/('|"|\||-|=|~|>|<|(|)|\$|#)/
    $action 
=~ 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{"id1"}; $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);
my $tmp = substr("$act", 0,1);
    if 
($tmp eq '?'){$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{'id1'};
$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";
    #-------------------------
    ##########################
####<<< SEREDINKA
if ($act eq '') {require "ind.pl";}
elsif ($act eq 'basket') {require "basket.pl";}
elsif ($act eq 'all_model') {require "all_model.pl";}
elsif ($act eq 'model_find') {require "model_find.pl";}
elsif ($act eq 'firms') {require "firms.pl";}
    else  
{print "Location: http://$ENV{'SERVER_NAME'}/\n\
    ####>>> 
#Информационные сообщения
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/index.html');
    $template->param(%HTML_
    my 
$HTML_SITE_out = $template->output; 
print <<EOF;
$HTML_SITE_out
EOF
#отключение БД
$dbh->disconnect();
All_model.pl
    1; 
&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()) { 
    if 
(!($ref->{Name_Model})){$ref->
    my 
$hd; if ($ref->{ehide}){$hd="_h";} 
    $HTML_SITE{content}.=<<
<table border=1 cellpadding="3" cellspacing="3" align="center">
<td rowspan=8 align="center">
    <img 
src="/admin/Photos/$ref->{
</td>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Фирма</font></
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Nfirma}</
</td>
<tr>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Модель</font><
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Name_
</td>
<tr>
<td width=100 valign="center" align="center"><b><font color="#666666">Пол</font></b>
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Pname}</
</td>
<tr>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Ремешок</font>
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Kname}</
</td>
<tr>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Механизм</
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Mname}</
</td>
<tr>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Дата поставки<
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="blue">$ref->{Data_post}
</td>
<tr>
    <td 
width=100 valign="center" align="center"><b><font 
color="#666666">Стоимость</
</td>
    <td 
width=150 valign="center" align="center"><b><font 
color="red">$ref->{Price}</
</td>
<tr>
<td width=100 valign="center" align="center"><b><font color="#666666">Добавить в корзину</font></b>
</td>
    <td 
width=150 valign="center" align="center"><a 
href="javascript:addbasket($
</td>
</table>
<table align="center">
<td height="10">
</td>
</table>
LINES
                              
$sth->finish();
$HTML_SITE{title} = "Просмотр всех моделей часов";
}
    ##########################
1;
Model_find.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();
if ($action eq 'Подобрать'){&clocksfind;}
else{&viev;}
sub viev {
$HTML_SITE{title} = "Выбор часов по параметрам";
    $HTML_SITE{content}.=<<
<form style="display: none" method="POST" action="" id="deletes" name="deletes"><input type="hidden" name="ids" value=""><input type="hidden" name="action" value="Удалить"></form>
Информация о работе Web-приложение «Сайт системы научных конференций»