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 Мб (Скачать файл)

    <br>

    <h2>Заполните поля для поиска</h2>

    <form method="POST" action="">

    <br>

    <div align="center"><b>Фирма</b></div>

    <br>

    <div align="center"><select name="firm" size="1" style="width:30%">

    $sel

    <option value="0" selected></option>

    </select></div>

    <br>

    <div align="center"><b>Цена</b></div>

    <br>

    <div align="center"> от <input name="otcen" value="" type="text" style="width:25%"> ---- до <input name="docen" value="" type="text" style="width:25%"></div>

    <br>

    <div align="center"><b>Дата поступления</b>(Вводить в формате гггг-мм-дд)</div>

    <br>

    <div align="center"> от <input name="otdata" value="" type="text" style="width:25%"> ---- до <input name="dodata" value="" type="text" style="width:25%"></div>

    <br>

    <div align="center"><input name="action" type="submit" value="Подобрать"></div>

    </form> 

    LINES

    }

    ####################################### 

    sub clocksfind {

    my $firm = param('firm');

    my $otcen = param('otcen');

    my $docen = param('docen');

    my $otdata = param('otdata');

    my $dodata = param('dodata'); 

    $firm = $dbh->quote( $firm );

    $otcen = $dbh->quote( $otcen );

    $docen = $dbh->quote( $docen );

    $otdata = $dbh->quote( $otdata );

    $dodata = $dbh->quote( $dodata ); 

    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 where ((Model.id_Firma=$firm)or($firm=0))

                   and ((Model.Price between $otcen and $docen) or ($otcen=0 and $docen=0))

                   and ((Model.Data_post between $otdata and $dodata) or ($otdata=0 and $dodata=0))"); 

    $HTML_SITE{title} = "Выбор часов по параметрам";

    $sth->execute();

    $sumstr=0;

    while (my $ref = $sth->fetchrow_hashref()) {

    if (!($ref->{Name_Model})){$ref->{Name_Model} = "Не найдено!";}

    my $hd; if ($ref->{ehide}){$hd="_h";} 

    $HTML_SITE{content}.=<<LINES;

    <table border=1 cellpadding="3" cellspacing="3" align="center">

    <td rowspan=8 align="center">

    <img src="/admin/Photos/$ref->{Photo}" width="80" valign="absmiddle" align="absmiddle">

    </td>

    <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->{Nfirma}</font></b>

    </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->{Name_Model}</font></b>

    </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}</font></b>

    </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->{Kname}</font></b>

    </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->{Mname}</font></b>

    </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->{Data_post}</font></b>

    </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="red">$ref->{Price}</font>&nbspр.</b>

    </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($ref->{id});"><img src="/admin/images/basket.jpg" width="40" height="40" align="absmiddle" alt="Добавить в корзину"></a>

    </td>

    </table>

    <table align="center">

    <td height="10">

    </td>

    </table>

    LINES

    $sumstr=$sumstr+1;

                                               }

    if ($sumstr==0){$HTML_SITE{title2} = "Извините, но по данным параметрам ничего подобрать не получилось";}

    $sth->finish(); 

    }

         1;

     Basket.pl 

     1; 

     if ($action eq 'Оформить_заказ')   {&zakaz;}

     elsif ($action eq 'Удалить') {&del;} 

     #viv 

     if (($action eq 'Оформить_заказ') and ($kvit)){&kvitanc;}

     else{&viev;} 

     sub viev { 

     $q = CGI->new();

     my $cookies = $q->cookie('basket'); 

     @ms = split(/:/,$cookies);

     $sum=0;

     foreach $ls (@ms){ 

     my ($ss1,$ss2) = split(/-/,$ls); 

     if (($idd1 eq $ss1) and ($idd2 eq $ss2)){ #условие чтобы не выводить уже удалённую модель. Нужно, т.к. куки не успевают записаться

     }else{

     my (@db) = $dbh->selectrow_array("

     SELECT Firma.Name_Firma as Nfirma,Model.Name_Model,Model.Price

     FROM Model inner join Firma on Model.id_Firma = Firma.id WHERE Model.id='$ss1'

     "); 

     $text.=<<LINES;

     <tr><td align="center"><p>$db[0]</p></td><td align="center">$db[1]</td><td align="center">$db[2]</td><td><a href="#" onclick="delbasket('$ss1-$ss2')"><img src="/admin/images/Urna.jpg" width="30" height="30" align="absmiddle" alt="title" alt="Удалить"></a></td></tr>

     LINES

     $sum=$sum+$db[2];

                                             }

     } 

     $HTML_SITE{title} = "Корзина"; 

     $HTML_SITE{content}.=<<LINES;

     <table cellpadding=5 cellspacing=5 width=50% align="center">

     <tr>

     <td align="center"><p><b>Фирма</b></p></td>

     <td align="center"><b>Модель</b></td>

     <td align="center"><b>Стоимость</b></td>

     <td></td>

     </tr>

     $text

     </table>

     <HR WIDTH="50%" SIZE="3" color="red">

     <table cellpadding=5 cellspacing=5 width=50% align="center">

     <td align="center">

     Общая сумма заказа равна $sum рублей

     </td>

     </table> 

     <form style="display: none" method="POST" action="" id="deletes" name="deletes"><input type="hidden" name="ids" value=""><input type="hidden" name="action" value="Удалить"></form>

     <br>

     <h2>Пожалуйста заполните форму</h2>

     <font color="red">*</font><small>Поля обязательные для заполнения</small>

     <form method="POST" action="">

     <br>

     <div align="center"><font color="red">*</font>ФИО</div>

     <div align="center"><input name="fio" value="" type="text" style="width:50%"></div>

     <br>

     <div align="center"><font color="red">*</font>Телефон</div>

     <div align="center"><input name="tel" value="" type="text" style="width:50%"></div>

     <br>

     <div align="center"><font color="red">*</font>Email</div>

     <div align="center"><input name="email" value="" type="text" style="width:50%"></div>

     <br>

     <div align="center"><input name="action" type="submit" value="Оформить_заказ"></div>

     </form> 

     LINES

     }

     #######################################

     sub kvitanc {

     require "kvit.pm";

     my $kvit = &kvit($idins); 

     $HTML_SITE{content}="$kvit";

     }

     #######################################

     sub del {

     my $ids = param("ids");

     $q = CGI->new();

     my $cookies = $q->cookie('basket');

     @ms = split(/:/,$cookies);

     ($idd1, $idd2) = split(/-/,$ids);

     foreach $ls (@ms){

     my ($ss1,$ss2) = split(/-/,$ls); 

     if (($ss1 eq $idd1) and ($ss2 eq $idd2)){ 

     }else{

                     if ($newcook){

                     $newcook = "$newcook:$ss1-$ss2";

                     }else{

                     $newcook = "$ss1-$ss2";

                     }

     }

     } 

     #Устанавливаем  новые куки средствам Perl

     $c = new CGI::Cookie(-name=>'basket',

                          -value=>"$newcook",

                          );

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

     $c =~ s/<!--(.|\n)*-->//g;

     print "Set-Cookie: $c\n"; 

     } 

     ######################################

     sub zakaz {

     my $fio = param('fio');

     my $tel = param('tel');

     my $email = param('email');

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