Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сетевые технологии. Обработка форм в рамках динамических Интернет-сайтов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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', 'windows­1251',$rowtbflv['tbflv'])))) { if (@unlink ($dirs."/".(iconv('utf-8', 'windows­1251',$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++; } } } // Копирование нового файла в директорию
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]