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

1.Фаулер М., Скотт К. «UML в кратком изложении. Применение стандартного языка объектного моделирования.» – М.: «Мир», 1999.

2.Матросов А.В., Чаунин М.П. «Самоучитель Perl» — СПб: «БХВ — Санкт-Петербург», 2000.

3.Кристиансен Т., Торкингтон Н. «Perl: библиотека программиста» — СПб: «Питер», 2001.

4.Браун М., Ханникат Д. «HTML 3.2 в подлиннике» — СПб: «БХВ — Санкт-Петербург», 2002.

5.Флэнаган Д. «JavaScript. Подробное руководство, 5-е издание» - СПб-М: «Символ-Плюс», 2008.

6.Гудман Д. «JavaScript и DHTML. Сборник рецептов. Для профессионалов» — СПб: «Питер», 2004.

7.Мартин Браун. Perl. Архив программ. – М.: «Издательство БИНОМ», 2001.

8.Кольчугина Е.А. Программирование в сетях. Методические указания к выполнению лабораторных работ – Пенза, ПГУ, 2003.

 

Приложение А

(обязательное)

Код приложения

Администраторская часть

Admin.html

<HTML>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<title>Система управления сайтом</title>

<meta name="description" content="">

<meta name="keywords" con22:00 22.12.2009tent="">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<link rel="STYLESHEET" type="text/css" href="css/admin.css">

<link rel="stylesheet" href="/css/ui.all.css" type="text/css" media="all" />

 

<SCRIPT language=JavaScript src="/js/jquery-1.2.6.pack.js"></SCRIPT>

<script src="/js/ui.datepicker.js" type="text/javascript"></script>

<script type="text/javascript" src="/admin/js/admin.js"></script>

</head>

 

<body>

 

<center>

<table cellspacing="0" cellpadding="0" border="0">

<td nowrap style="background: url(images/fon01.gif) repeat-y;"></td>

<td height="180" bgcolor="black" align="center">

<a href="/admin/"><img src="images/watch-img.jpg" height="180" vspace=3 border="0" alt="DATA"></a>

</td>

<td bgcolor="#330000"

<table cellspacing="0" cellpadding="0" border="0">

<td bgcolor="#324D44" height="130" align="center"><font color="#00FFFF" size="8" face="DigifaceWide">Shop of hours</font>

</td>

<tr>

<td width="100%">

 

                                                        <table height="57" cellspacing='0' cellpadding='0' border='0' >

                                                        <tr

                                                                    <td nowrap></td>

                                                                    <td class="itlogo"><font color="#00CC33">АДМИНИСТРАТОРСКАЯ ЧАСТЬ САЙТА</font></td>

                                                                    <td bgcolor="#324D44"></td>

                                                                    <td class="white" align="center"><a href="#" onclick="javascript: document.exit.submit(); return false;"><font color="#00CC33">Выход из Системы</font></a></td>

<form style="display: none" method="POST" action="" id="exit" name="exit"><input type="hidden" name="action" value="loginadm_end"></form>

                                                        </tr>

                                                    </table>

                                             </td>

</table>

</td>

</table>

<table cellspacing="0" cellpadding="0" border="0">

<tr>

<td nowrap style="background: url(images/fon01.gif) right repeat-y;">

         <table cellspacing='0' cellpadding='0' border='0' bgcolor="#000000">

         <tr>

                     <td nowrap style="background: url(images/fon01.gif) repeat-y;"></td>

                     <td align="right">

                                        <table cellspacing='0' cellpadding='0' border='0'>

                                 <tr height="26">

                                             <td style="background: url(images/menu_header.jpg) no-repeat; padding-left:25px;" class="title_catalog">Меню</td>

                                 </tr>

                                 </table>

                                 <table cellspacing='0' cellpadding='0' border='0'>

                                 <tr height="26">

                                                                                <td nowrap></td>

                                             <td width="100%">

<br>

                                                                                                                       

                                             <table height="40" border='0' cellspacing='0' cellpadding='0'>

                                             <tr>

                                                        <td ><img src='images/square_or.gif' height='9' border='0' alt=''></td>

                                                        <td ><a href='?act=firma' class='menu' ><font color="#ffffff">Фирма производитель</font></a></td>

                                             </tr>

                                             </table>                                                    

<br>

                                             <table height="40" border='0' cellspacing='0' cellpadding='0'>

                                             <tr>

                                                        <td ><img src='images/square_or.gif' height='9' border='0' alt=''></td>

                                                        <td ><a href='?act=model' class='menu' ><font color="#ffffff">Модели часов</font></a></td>

                                             </tr>

                                             </table>

<br>

                                             <table height="40" border='0' cellspacing='0' cellpadding='0'>

                                             <tr>

                                                        <td ><img src='images/square_or.gif' height='9' border='0' alt=''></td>

                                                        <td ><a href='?act=sale' class='menu' ><font color="#ffffff">Заказы</font></a></td>

                                             </tr>

                                             </table>

                                                                                                                                                             </td>

                                             <td nowrap></td>

                                 </tr>

                                 </table>

                                     

                                 <table cellspacing='0' cellpadding='0' border='0'>

                                 <tr height="18">

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

                                 </tr>

                                 </table>          

 

                     </td>

         </tr>

         </table>

 

         <table cellspacing='0' cellpadding='0' border='0'>

         <tr height="55">

                     <td nowrap style="background: url(images/fon01.gif) repeat-y;"></td>

                     <td align="center" style="padding-top:30px;" bgcolor="#000000">&copy; Kino</td>

                         

         </tr>

         </table>

 

         <table cellspacing='0' cellpadding='0' border='0'>

         <tr height="8">

                     <td style="background: url(images/fon08.gif) right no-repeat;"></td>

         </tr>

         </table>

 

</td>

  

<td nowrap bgcolor="#979797"></td>

<td bgcolor="#CCFFFF" style="padding-top:3px;padding-bottom:3px;padding-right:3px;border: #146492 solid; border-width: 1px 0px 0px 0px;"

 

 

<!-- 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 nowrap bgcolor="#979797"></td>

<td nowrap></td>

</tr>

</table>

<table cellspacing="0" cellpadding="0" border="0">

<tr height="51">

<td nowrap></td>

<td nowrap style="background: url(images/bot_angle_left.gif) no-repeat;"></td>

<td 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 nowrap style="background: url(images/bot_angle_right.gif) no-repeat;"></td>

<td 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()) {

 

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

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

 

$HTML_SITE{content}.=<<LINES;

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

<td height=50 align="center">

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

</td>

<td align="center"><b><font color="blue">$ref->{Nfirma}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Name_Model}</font></b>

</td>

<td align="center"><b><font color="red">$ref->{Price}</font>&nbsp.</b>

</td>

<td><a href="?act=$act&id=$ref->{id}&viev=edit"><img src="/admin/images/editor.jpg" height="40" align="absmiddle" alt="Редактировать"></a>

</td>

<td><a href="#" onclick="del_id('$ref->{id}')"><img src="/admin/images/Urna.jpg" height="40" align="absmiddle" alt="Удалить"></a>

</td>

</table>

LINES

 

                                      }

$sth->finish();

 

$HTML_SITE{content}.=<<LINES;

<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} = "Список моделей часов [<a href=\"?act=$act&viev=add\">Добавить</a>]";

$HTML_SITE{title2} = 'Просмотр';

        }

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

             

sub blokedit {

             

my ($db_id,$db_Firma,$db_Name_Model,$db_Mechanism,$db_Kreplen,$db_Pol,$db_Data_post,$db_Price,$db_Photo) =

$dbh->selectrow_array("SELECT id,id_Firma,Name_Model,id_Mechanism,id_Kreplen,id_Pol,Data_post,Price,Photo FROM $act WHERE id='$fid'");

             

$HTML_SITE{content}=<<LINES;

<div style="clear:both"></div>

 

<form method="POST" enctype="multipart/form-data">

 

<div class="nm">Фирма</div>

<div class="nm2"><select name="Firma" size="1" style="width:30%">

$sel

</select>

<script>\$('option[\@value=$db_Firma]').get(0).selected = 'selected';</script>

</div>

 

<div class="nm">Название</div>

<div class="nm2"><input name="Name_Model" value="$db_Name_Model" type="text" width=200"></div>

 

<div class="nm">Механизм</div>

<div class="nm2"><select name="Mechanism" size="1" style="width:30%">

$sel3

</select>

<script>\$('option[\@value=$db_Mechanism]').get(1).selected = 'selected';</script>

</div>

 

<div class="nm">Крепление</div>

<div class="nm2"><select name="Kreplen" size="1" style="width:30%">

$sel2

</select>

<script>\$('option[\@value=$db_Kreplen]').get(2).selected = 'selected';</script>

</div>

 

<div class="nm">Пол</div>

<div class="nm2"><select name="Pol" size="1" style="width:30%">

$sel1

</select>

<script>\$('option[\@value=$db_Pol]').get(3).selected = 'selected';</script>

</div>

 

<div class="nm">Дата поставки</div>

<div class="nm2"><input name="Data_post" value="$db_Data_post" type="text" width=200"></div>

 

<div class="nm">Стоимость</div>

<div class="nm2"><input name="Price" value="$db_Price" type="text" width=200"></div>

 

<div class="nm">Изображение</div>

<div class="nm2"><input name="Photo" value="$db_Photo" type="text" width=200"></div>

 

<div class="nm"><input name="action" type="submit" value="Изменить"></div>

 

<input name="id" value="$db_id" type="hidden">

 

</form>

LINES

 

$HTML_SITE{title} = 'Список моделей часов';

$HTML_SITE{title2} = 'Редактор';

}

 

 

sub blokadd {

 

$HTML_SITE{content}=<<LINES;

<div style="clear:both"></div>

 

<form method="POST" enctype="multipart/form-data">

 

<div class="nm">Фирма</div>

<div class="nm2"><select name="Firma" size="1" style="width:30%">

$sel

</select></div>

 

<div class="nm">Название</div>

<div class="nm2"><input name="Name_Model" value="$db_name" type="text" width=200"></div>

 

<div class="nm">Механизм</div>

<div class="nm2"><select name="Mechanism" size="1" style="width:30%">

$sel3

</select></div>

 

<div class="nm">Крепление</div>

<div class="nm2"><select name="Kreplen" size="1" style="width:30%">

$sel2

</select></div>

 

<div class="nm">Пол</div>

<div class="nm2"><select name="Pol" size="1" style="width:30%">

$sel1

</select></div>

 

<div class="nm">Дата поставки</div>

<div class="nm2"><input name="Data_post" value="$db_name" type="text" style="width=200"></div>

 

<div class="nm">Стоимость</div>

<div class="nm2"><input name="Price" value="$db_name" type="text" style="width=200"></div>

 

<div class="nm">Изображение</div>

<div class="nm2"><input name="Photo" value="$db_name" type="text" style="width=200"></div>

 

<div class="nm"><input name="action" type="submit" value="Добавить"></div>

 

<input name="firm" value="1" type="hidden">

 

</form>

LINES

 

$HTML_SITE{title} = "Список моделей часов";

$HTML_SITE{title2} = 'Добавление';

}

 

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

 

sub edit {

 

 

my $Firma = param('Firma'); $Firma = $dbh->quote($Firma);

my $Name_Model = param('Name_Model'); $Name_Model = $dbh->quote($Name_Model);

my $Mechanism = param('Mechanism'); $Mechanism = $dbh->quote($Mechanism);

my $Kreplen = param('Kreplen'); $Kreplen = $dbh->quote($Kreplen);

my $Pol = param('Pol'); $Pol = $dbh->quote($Pol);

my $Data_post = param('Data_post'); $Data_post = $dbh->quote($Data_post);

my $Price = param('Price'); $Price = $dbh->quote($Price);

my $Photo = param('Photo'); $Photo = $dbh->quote($Photo);

 

my $sth = $dbh->prepare("UPDATE $act SET id_Firma=$Firma,Name_Model=$Name_Model,id_Mechanism=$Mechanism,id_Kreplen=$Kreplen,id_Pol=$Pol,Data_post=$Data_post,Price=$Price,Photo=$Photo WHERE (id='$fid')");

if ($sth->execute()){

push @ok, {text=>'Запись отредактирована'};

$sth->finish(); }

else {push @error, {text=>'Запись не отредактирована'}; }

 

}

 

 

sub add {

 

my $Firma = param('Firma');

my $Name_Model = param('Name_Model');

my $Mechanism = param('Mechanism');

my $Kreplen = param('Kreplen');

my $Pol = param('Pol');

my $Data_post = param('Data_post');

my $Price = param('Price');

my $Photo = param('Photo');

 

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

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

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

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

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

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

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

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

 

my $sth = $dbh->prepare("insert into $act (id_Firma,Name_Model,id_Mechanism,id_Kreplen,id_Pol,Data_post,Price,Photo) values ($Firma,$Name_Model,$Mechanism,$Kreplen,$Pol,$Data_post,$Price,$Photo)");

if ($sth->execute()){

push @ok, {text=>"Запись добавлена"};

$sth->finish(); }

else {push @error, {text=>"Запись не добавлена"}; }

 

 

}

 

 

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;

 

Sale.pl

1;

 

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

 

&blokviev;

 

 

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

sub blokviev {

 

my $sth = $dbh->prepare("SELECT Sale.*,Model.Name_Model as Mname,Schet.fio as Sfio,

 Schet.data as Sdata, Schet.nom as Snom, Firma.Name_Firma as Fname, Model.Price as Mprice

FROM Sale inner join Model on Sale.Model_id = Model.id

      inner join Schet on Sale.Schet_id = Schet.id

      inner join Firma on Model.id_Firma = Firma.id");

 

  

$sth->execute();

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

 

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

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

 

$HTML_SITE{content}.=<<LINES;

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

<td align="center"><b><font color="blue">$ref->{Snom}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Sfio}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Fname}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Mname}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Sdata}</font></b>

</td>

<td align="center"><b><font color="blue">$ref->{Mprice}</font>&nbspр.</b>

</td>

<td><a href="#" onclick="del_id('$ref->{id}')"><img src="/admin/images/Urna.jpg" height="40" align="absmiddle" alt="Удалить"></a>

</td>

</table>

LINES

 

                                      }

$sth->finish();

 

$HTML_SITE{content}.=<<LINES;

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: