Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сетевые технологии. Обработка форм в рамках динамических Интернет-сайтов. Учебное пособие
.pdf
81
$mods[0] = "Вариант 11";
$mods[1] = "Вариант 12";
$mods[2] = "Вариант 13";
$mods[3] = "Вариант 14";
// Множественный список
$mmns = array();
$mmns[0] = "Вариант 21";
$mmns[1] = "Вариант 22";
$mmns[2] = "Вариант 23";
$mmns[3] = "Вариант 24";
// Однозначный выбор
$modv = array();
$modv[0] = "Вариант 31";
$modv[1] = "Вариант 32";
$modv[2] = "Вариант 33";
$modv[3] = "Вариант 34";
// Множественный выбор
$mmnv = array();
$mmnv[0] = "Вариант 41";
$mmnv[1] = "Вариант 42";
$mmnv[2] = "Вариант 43";
$mmnv[3] = "Вариант 44";
// Формирование директории для хранения загружаемых файлов
$dirs = "files_tb";
if (@!opendir($dirs)) {mkdir($dirs, 0666);}
// Подключение к базе данных
require("podkl_01.php");
$tbname = "tb_01";
?>
<SCRIPT type="text/javascript" language=JavaScript>
function prfl(zagr)
{
max_size = "<? echo(ini_get('upload_max_filesize')); ?>";
max_size_mb = Math.round(max_size.substr(0,(max_size.length-1))
*100)/100;
zagr_size_mb = Math.round((zagr.files[0].size/(1024*1024))*100) /100;
if (zagr_size_mb>max_size_mb)
{
soob = "Ошибка загрузки файла!";
soob = soob+"\nРазмер загружаемого файла "+zagr_size_mb+ "
Мбайт";
soob = soob+"\nМаксимальный размер файла "+max_size_mb+"
Мбайт";

82
soob = soob+"\nВыберите файл меньшего размера!";
alert(soob);
zagr.value = "";
zagr.focus();
}
}
</SCRIPT>
<TITLE>Обработка форм динамических Интернет-страниц с
сохранением нформации в таблице базы данных</TITLE> </HEAD>
<BODY>
<HR color=green size=2>
<DIV align=center>
<FONT color=blue><B>Вывод формы исходных данных для добавления
записи в таблицу базы данных</B></FONT>
</DIV>
<HR color=green size=2>
<DIV align=justify>
<FORM name=fnam method=post enctype="multipart/form-data">
<TABLE border=1 bordercolor=green cellspacing=0>
<TR valign=top>
<TD>Скрытый элемент</TD>
<TD><INPUT type=hidden name=hdn value="<? echo
date("d").".".date("m").".".date(Y)." ".date("H:i:s") ?>"></INPUT></TD>
</TR>
<TR valign=top>
<TD>Текстовое поле</TD>
<TD><INPUT type=text name=tp value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Текстовая область</TD>
<TD><TEXTAREA rows=6 cols=40 name=to></TEXTAREA> </TD>
</TR>
<TR valign=top>
<TD>Поле пароля</TD>
<TD><INPUT type=password name=ps value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Поле адреса Интернет-сайта (https://www.xxx.xxx)</TD>
<TD><INPUT type=url name=st value=""></INPUT></TD>
</TR>
<TD>Поле адреса электронной почты (xxx@xxx.xxx)</TD>
<TD><INPUT type=email name=et value=""></INPUT></TD>
</TR>

83
<TR valign=top>
<TD>Поле номера телефона (8-999-999-9999)</TD>
<TD><INPUT type=tel name=tl pattern="8-[0-9]{3}-[0-9]{3}-[0-9]{4}"
value=""></INPUT></TD>
</TR>
<TR valign=top>
<TD>Выбор даты</TD>
<TD><INPUT type=date name=dtv></INPUT></TD>
</TR>
<TD>Выбор времени</TD>
<TD><INPUT type=time name=ttv></INPUT></TD>
</TR>
<TR valign=top>
<TD>Выбор цвета</TD>
<TD><INPUT type=color name=clv></INPUT></TD>
</TR>
<TR valign=top>
<TD>Загрузка файла</TD>
<TD><INPUT type=file name=flv onchange="prfl(flv);"></INPUT> </TD>
</TR>
<TR valign=top>
<TD>Однозначный список</TD>
<TD><SELECT name=ods[]>
<OPTION value=-1>Выберите элемент однозначного списка </OPTION>
<?PHP
for ($i=0;$i<count($mods);$i++)
{
echo "<OPTION value=".$i.">".$mods[$i]."</OPTION>\n";
}
?>
</SELECT></TD></TR>
<TR valign=top>
<TD>Множественный список</TD>
<TD><SELECT name=mns[] multiple>
<?PHP
for ($i=0;$i<count($mmns);$i++)
{
echo "<OPTION value=".$i.">".$mmns[$i]."</OPTION>\n";
}
?>
</SELECT></TD></TR>
<TR valign=top><TD>Однозначный выбор</TD><TD>
<?PHP

84
for ($i=0;$i<count($modv);$i++)
{
echo "<INPUT type=radio name=odv[] value=".$i.">".$modv[$i].
"</INPUT><BR>\n";
}
?>
</TD></TR>
<TR valign=top>
<TD>Множественный выбор</TD><TD>
<?PHP
for ($i=0;$i<count($mmnv);$i++)
{
echo "<INPUT type=checkbox name=mnv[] value=".$i.">".
$mmnv[$i]."</INPUT><BR>\n";
}
?>
</TD></TR>
<TR align=center>
<TD><INPUT type=submit name=add value="Добавление
данных"></INPUT></TD>
<TD><INPUT type=reset value="Отмена"></INPUT></TD></TR>
</TABLE></FORM>
</DIV>
<?PHP
// Добавление новой записи данных в таблицу tb_01 базы данных db_01
if (isset($_POST['add']))
{
// Получение данных из скрытого элемента
settype($_POST['hdn'], string);
$addhdn = trim(strip_tags($_POST['hdn']));
// Получение данных из текстового поля
settype($_POST['tp'], string);
$addtp = trim(strip_tags($_POST['tp']));
// Получение данных из текстовой области
settype($_POST['to'], string);
$addto = trim(strip_tags($_POST['to']));
$addto = str_replace("\r\n","##",$addto);
// Получение данных из поля пароля
settype($_POST['ps'], string);
$addps = trim(strip_tags($_POST['ps']));
// Получение данных из поля адреса Интернет-сайта
settype($_POST['st'], string);
$addst = trim(strip_tags($_POST['st']));

85
// Получение данных из поля адреса электронной почты
settype($_POST['et'], string);
$addet = trim(strip_tags($_POST['et']));
// Получение данных из поля номера телефона
settype($_POST['tl'], string);
$addtl = trim(strip_tags($_POST['tl']));
// Получение данных о выборе даты
settype($_POST['dtv'], string);
$adddtv = trim(strip_tags($_POST['dtv']));
// Получение данных о выборе времени
settype($_POST['ttv'], string);
$addttv = trim(strip_tags($_POST['ttv']));
// Получение данных о выборе цвета
settype($_POST['clv'], string);
$addclv = trim(strip_tags($_POST['clv']));
// Получение данных о загружаемом файла
if ($_FILES['flv']['name']!="")
{
settype($_FILES['flv']['name'], string);
$addflv = $_FILES['flv']['name'];
if (@copy(iconv('utf-8','windows-1251',$_FILES['flv'] ['tmp_name']),
$dirs."/".iconv('utf-8','windows-1251',$addflv)))
{
// echo "\n<FONT color=blue><B>Файл ".$addflv." успешно
загружен!</B></FONT>";
}
else
{
// echo "\n<FONT color=red><B>Файл ".$addflv." невозможно
загрузить!</B></FONT>";
$addflv = "";
}
@unlink($_FILES['flv']['tmp_name']);
}
// Получение данных из однозначного списка
$vods = 0;
for ($i=0;$i<count($_POST['ods']);$i++)
{
$vods++;
settype($_POST['ods'][$i], integer);
$addods = $_POST['ods'][$i];
}
if ($vods==0)

86
{
$addods = -1;
}
// Получение данных из множественного списка
$vmns = 0;
$addmns = "";
for ($i=0;$i<count($_POST['mns']);$i++)
{
$vmns++;
settype($_POST['mns'][$i], integer);
$addmns = $addmns.$_POST['mns'][$i];
if ($i!=count($_POST['mns'])-1)
{
$addmns = $addmns."##";
}
}
if ($vmns==0)
{
$addmns = -1;
}
// Получение данных из однозначного выбора
$vodv = 0;
for ($i=0;$i<count($_POST['odv']);$i++)
{
$vodv++;
settype($_POST['odv'][$i], integer);
$addodv = $_POST['odv'][$i];
}
if ($vodv==0)
{
$addodv = -1;
}
// Получение данных из множественного выбора
$vmnv = 0;
$addmnv = "";
for ($i=0;$i<count($_POST['mnv']);$i++)
{
$vmnv++;
settype($_POST['mnv'][$i], integer);
$addmnv = $imnv.$_POST['mnv'][$i];
if ($i!=count($_POST['mnv'])-1)
{
$addmnv = $addmnv."##";

87
}
}
if ($vmnv==0)
{
$addmnv = -1;
}
// Добавление записи данных в таблицу tb_01 базы данных db_01
$zaptbadd = "INSERT INTO ".$tbname."
(
tbkod, tbhdn, tbtp, tbto, tbps, tbst, tbet, tbtl,
tbdtv, tbttv, tbclv, tbflv, tbods, tbmns, tbodv, tbmnv
)
VALUES
(
NULL, '".$addhdn."', '".$addtp."', '".$addto."', '".$addps."', '".$addst."',
'".$addet."', '".$addtl."',
'".$adddtv."', '".$addttv."', '".$addclv."', '".$addflv."', '".$addods."', '".$addmns."',
'".$addodv."', '".$addmnv."'
);";
$restbadd = @mysql_query($zaptbadd);
if (!$restbadd)
{
// echo "\n<FONT color=red><B>Запись данных в таблицу ".$tbname."
базы данных ".$dbname." не может быть добавлена! </B></FONT><BR>";
}
else
{
// echo "\n<FONT color=blue><B>Запись данных в таблицу ".$tbname."
базы данных ".$dbname." успешно добавлена! </B></FONT><BR>";
}
}
// Изменение выбранных записей данных в таблице tb_01 базы данных
db_01
if (isset($_POST['ren']))
{
// Вывод записей данных из таблицы базы данных
$zaptbrd = "SELECT * FROM ".$tbname.";";
$restbrd = @mysql_query($zaptbrd);
if (!$restbrd)
{
// echo "\n<FONT color=red><B>Записи данных из таблицы ".$tbname."
базы данных ".$dbname." не могут быть выведены!</B></FONT><BR>";

88
echo "\n<HR color=green size=2>";
echo "\n<DIV align=center>";
echo "\n<FONT color=red><B>Записи данных из таблицы не могут быть
выведены!</B></FONT>";
echo "\n</DIV>";
}
else
{
// echo "\n<FONT color=blue><B>Записи данных из таблицы ".$tbname."
базы данных ".$dbname." успешно выведены!</B> </FONT><BR>";
$rowstbrd = @mysql_num_rows($restbrd);
$colstbrd = @mysql_num_fields($restbrd);
if ($rowstbrd==0)
{
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице
".$tbname." базы данных ".$dbname."!</B></FONT>";
echo "\n<HR color=green size=2>";
echo "\n<DIV align=center>";
echo "\n<FONT color=red><B>Отсутствуют данные в
таблице!</B></FONT>";
echo "\n</DIV>";
}
else
{
$n = 0;
while ($rowtbrd = @mysql_fetch_array($restbrd))
{
for ($m=0;$m<count($_POST['chos']);$m++)
{
// Получение новых значений записей данных для таблицы базы
данных
if ($n==$_POST['chos'][$m])
{
// Получение данных из ключевого поля таблицы базы данных
settype($_POST['renkod'][$n], integer);
$renkod = trim(strip_tags($_POST['renkod'][$n]));
// Получение данных из скрытого элемента
settype($_POST['renhdn'][$n], string);
$renhdn = trim(strip_tags($_POST['renhdn'][$n]));
// Получение данных из текстового поля
settype($_POST['rentp'][$n], string);
$rentp = trim(strip_tags($_POST['rentp'][$n]));

89
// Получение данных из текстовой области
settype($_POST['rento'][$n], string);
$rento = trim(strip_tags($_POST['rento'][$n]));
$rento = str_replace("\r\n","##",$rento);
// Получение данных из поля пароля
settype($_POST['renps'][$n], string);
$renps = trim(strip_tags($_POST['renps'][$n]));
// Получение данных из поля адреса Интернет-сайта
settype($_POST['renst'][$n], string);
$renst = trim(strip_tags($_POST['renst'][$n]));
// Получение данных из поля адреса электронной почты
settype($_POST['renet'][$n], string);
$renet = trim(strip_tags($_POST['renet'][$n]));
// Получение данных из поля номера телефона
settype($_POST['rentl'][$n], string);
$rentl = trim(strip_tags($_POST['rentl'][$n]));
// Получение данных о выборе даты
settype($_POST['rendtv'][$n], string);
$rendtv = trim(strip_tags($_POST['rendtv'][$n]));
// Получение данных о выборе времени
settype($_POST['renttv'][$n], string);
$renttv = trim(strip_tags($_POST['renttv'][$n]));
// Получение данных о выборе цвета
settype($_POST['renclv'][$n], string);
$renclv = trim(strip_tags($_POST['renclv'][$n]));
// Получение данных о загружаемом файла
if ($_FILES['renflv']['name'][$n]!="")
{
// Удаление старого файла из директории
$zaptbflv = "SELECT ".$tbname.".tbflv FROM ".$tbname." WHERE
".$tbname.".tbkod=".$_POST['renkod'][$n].";";
$restbflv = @mysql_query($zaptbflv);
if (!$restbflv)
{
// echo "\n<FONT color=red><B>Записи данных из таблицы
".$tbname." базы данных ".$dbname." не могут быть
выбраны!</B></FONT><BR>";
// echo "\n<FONT color=red><B>Записи данных из таблицы не
могут быть выбраны!</B></FONT><BR>";
}
else
{

90
// echo "\n<FONT color=blue><B>Записи данных из таблицы
".$tbname." базы данных ".$dbname." успешно
выбраны!</B></FONT><BR>";
$rowstbflv = @mysql_num_rows($restbflv);
$colstbflv = @mysql_num_fields($restbflv);
if ($rowstbflv==0)
{
// echo "\n<FONT color=red><B>Отсутствуют данные в таблице
".$tbname." базы данных ".$dbname."!</B> </FONT>";
// echo "\n<FONT color=red><B>Отсутствуют данные в
таблице!</B></FONT>";
}
else
{
$nflv = 0;
while ($rowtbflv = @mysql_fetch_array($restbflv))
{
settype($rowtbflv['tbflv'], string);
if (@file_exists($dirs."/".(iconv('utf-8', 'windows1251',$rowtbflv['tbflv']))))
{
if (@unlink ($dirs."/".(iconv('utf-8', 'windows1251',$rowtbflv['tbflv']))))
{
// echo "\n<FONT color=blue><B>Файл ". $rowtbflv['tbflv']."
успешно удален!</B></FONT><BR>";
}
else
{
// echo "\n<FONT color=red><B>Файл ". $rowtbflv['tbflv']."
невозможно удалить!</B></FONT><BR>";
}
}
else
{
// echo "\n<FONT color=blue><B>Файл ". $rowtbflv['tbflv']." не
доступен и не может быть удален!</B> </FONT><BR>";
}
$nflv++;
}
}
}
// Копирование нового файла в директорию
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
