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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
41
Рисунок 6. Формирование значений исходных данных на форме в рамках
динамической Интернет-страницы
// Множественный список $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";
42
// Множественный выбор $mmnv = array(); $mmnv[0] = "Вариант 41"; $mmnv[1] = "Вариант 42"; $mmnv[2] = "Вариант 43"; $mmnv[3] = "Вариант 44"; // Формирование директории для хранения загружаемых файлов $dirs = "files_fl"; if (@!opendir($dirs)) { mkdir($dirs, 0666); } ?> <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 +" Мбайт"; 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>
43
Рисунок 7. Вывод результатов обработки формы и содержимого текстового
файла на Интернет-странице
44
<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> <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>
45
<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 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>
46
<TR align=center> <TD><INPUT type=submit name=add value="Добавление
данных"></INPUT></TD> <TD><INPUT type=reset value="Отмена"></INPUT></TD></TR>
</TABLE></FORM> </DIV> <?PHP // Присвоение новой переменной наименования текстового файла $TheFile = "data.txt"; // Добавление новой строки данных в текстовый файл if (isset($_POST['add'])) { // Открытие текстового файла для добавления строки данных $Openadd = @fopen($TheFile, "a+"); // Получение данных из скрытого элемента 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'])); // Получение данных из поля адреса электронной почты 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'])); // Получение данных о выборе цвета
47
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) { $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) {
48
$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 = $addmnv.$_POST['mnv'][$i]; if ($i!=count($_POST['mnv'])-1) { $addmnv = $addmnv."##"; } } if ($vmnv==0) { $addmnv = -1; } // Добавление строки данных в текстовый файл @fwrite($Openadd, $addhdn."\t".$addtp."\t".$addto."\t".$addps."\t".$addst."\t".$addet."\t".$addtl."\t ".$adddtv."\t".$addttv."\t".$addclv."\t".$addflv."\t".$addods."\t".$addmns."\t".$a ddodv."\t".$addmnv."\n"); // Закрытие текстового файла @fclose($Openf);
49
} // Изменение выбранных строк данных в текстовом файле if (isset($_POST['ren'])) { // Открытие текстового файла для чтения строк данных $Openren = @fopen($TheFile, "r");
// Присвоение новой переменной массива строк данных из текстового
файла
$Data = @file($TheFile); $pr = array(); for ($n=0; $n<count($Data); $n++) { $pr[$n] = 0; $GetLine = explode("\t", $Data[$n]); $zapf[$n] = ""; for ($m=0;$m<count($_POST['chos']);$m++) { // Получение новых значений строк данных для текстового файла if ($n==$_POST['chos'][$m]) { $pr[$n] = 1; // Получение данных из скрытого элемента settype($_POST['renhdn'][$n], string); $renhdn[$n] = trim(strip_tags($_POST['renhdn'][$n])); // Получение данных из текстового поля settype($_POST['rentp'][$n], string); $rentp[$n] = trim(strip_tags($_POST['rentp'][$n])); // Получение данных из текстовой области settype($_POST['rento'][$n], string); $rento[$n] = trim(strip_tags($_POST['rento'][$n])); $rento[$n] = str_replace("\r\n","##",$rento[$n]); // Получение данных из поля пароля settype($_POST['renps'][$n], string); $renps[$n] = trim(strip_tags($_POST['renps'][$n])); // Получение данных из поля адреса Интернет-сайта settype($_POST['renst'][$n], string); $renst[$n] = trim(strip_tags($_POST['renst'][$n])); // Получение данных из поля адреса электронной почты settype($_POST['renet'][$n], string); $renet[$n] = trim(strip_tags($_POST['renet'][$n])); // Получение данных из поля номера телефона settype($_POST['rentl'][$n], string); $rentl[$n] = trim(strip_tags($_POST['rentl'][$n]));
50
// Получение данных о выборе даты settype($_POST['rendtv'][$n], string); $rendtv[$n] = trim(strip_tags($_POST['rendtv'][$n])); // Получение данных о выборе времени settype($_POST['renttv'][$n], string); $renttv[$n] = trim(strip_tags($_POST['renttv'][$n])); // Получение данных о выборе цвета settype($_POST['renclv'][$n], string); $renclv[$n] = trim(strip_tags($_POST['renclv'][$n])); // Получение данных о загружаемом файла if ($_FILES['renflv']['name'][$n]!="") { // Удаление старого файла из директории settype($GetLine[10], string); if (@file_exists($dirs."/".(iconv('utf-8','windows-1251', $GetLine[10])))) { if (@unlink ($dirs."/".(iconv('utf-8','windows-1251', $GetLine[10])))) { // echo "\n<FONT color=blue><B>Файл ". $GetLine[10]." успешно удален!</B></FONT><BR>"; } else { // echo "\n<FONT color=red><B>Файл ".$GetLine[10]." невозможно удалить!</B></FONT><BR>"; } } else { // echo "<FONT color=blue><B>Файл ".$GetLine[10]." не доступен и не может быть удален!</B></FONT><BR>"; } // Копирование нового файла в директорию settype($_FILES['renflv']['name'][$n], string); $renflv[$n] = $_FILES['renflv']['name'][$n]; if (@copy(iconv('utf-8','windows-1251',$_FILES['renflv'] ['tmp_name'][$n]),$dirs."/".iconv('utf-8','windows-1251', $renflv[$n] ))) { // echo "\n<FONT color=blue><B>Файл ".$renflv[$n]." успешно загружен!</B></FONT><BR>"; } else {
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]