Web-приложение «Сайт системы научных конференций»

Автор работы: Пользователь скрыл имя, 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 Тестирование…………………………………...........................................

Заключение…………………………………………………………..…………..

Список использованных источников………………………………..…………

Приложение А. Код приложения ……………………….......……….………...

Приложение Б. Результаты тестирования……………..………………………

Файлы: 1 файл

Содержание.doc

— 1.98 Мб (Скачать файл)

                                  <td width="100%" style="background: url(images/fon07.jpg) no-repeat;"></td>

                            </tr>

                            </table>  

                      </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">&copy; 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;padding-bottom:3px;padding-right:3px;border: #146492 solid; border-width: 1px 0px 0px 0px;" valign="top"> 
 

    <!-- 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></div></TMPL_IF>

    <TMPL_IF error><div class="error"><TMPL_LOOP NAME=error><li><TMPL_VAR NAME="text"></li></TMPL_LOOP></div></TMPL_IF> 

    <div style="margin: 0 11 0 11">

    <TMPL_IF content><TMPL_VAR NAME=content></TMPL_IF>

    </div>

    <div style="height:20px;">&nbsp;</div>

    </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.gif) no-repeat;"></td>

          <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:database=$db;host=$host","$user","$password");

    $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/('|"|\||-|=|~|>|<|(|)|\$|#)//g;

    $fid2   =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)//g;

    $action =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)//g; 

    $login_in =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)//g;

    $pass_in  =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)//g;

    #/От SQL Иньекций 

    @pairs2 = split(/&/, $buffer2);

    foreach $pair2 (@pairs2) {

            ($name2, $value2) = split(/=/, $pair2);

            $value2 =~ tr/+/ /;

            $value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

            $FORM{$name2} = $value2;

    } 

    $form_fid = $FORM{"id"}; $form_fid =~ s/('|"|\||-|=|~|>|<|(|)|\$|#)//g; 

    $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])/pack("C", hex($1))/eg;

            $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,$year,$wday,$yday,$isdst) = localtime(time + (3600*$timeoffset));

    $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'}/admin/\n\n"; exit;}

    ####>>> 

    #Информационные  сообщения

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

    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->{'Name_Firma'}</option>]; 

                                               }

    $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->{'name'}</option>]; 

                                               }

    $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->{'name'}</option>]; 

                                               }

    $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->{'name'}</option>]; 

                                               }

    $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-приложение «Сайт системы научных конференций»