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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
31
<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'])); // Получение данных о выборе цвета settype($_POST['clv'], string);
32
$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) { $addmns = $addmns."##";
33
} } 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); }
34
// Вывод строк данных из текстового файла // Открытие текстового файла для чтения строк данных
$Openf = @fopen($TheFile, "r+"); if (!$Openf) { echo "\n<HR color=green size=2>"; echo "\n<DIV align=center>"; echo "\n<FONT color=red><B>Текстовый файл со строками данных отсутствует!</B></FONT>"; echo "\n</DIV>"; } else { // Присвоение новой переменной массива строк данных из текстового файла $Data = @file($TheFile); if (count($Data)==0) { 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<HR color=green size=2>"; echo "\n<DIV align=center>"; echo "\n<FONT color=blue><B>Вывод строк данных из текстового файла</B></FONT>"; echo "\n</DIV>"; echo "\n<HR color=green size=2>"; echo "\n<DIV align=justify>"; echo "\n<TABLE border=1 bordercolor=green cellspacing=0 cellpadding=2 width=100%>"; // Вывод строки заголовка строк данных echo "\n<TR valign=top align=center width=100% bgcolor=#7FFFD4>"; echo "\n<TD><B>№</B></TD>"; echo "\n<TD><B>Скрытый элемент</B></TD>"; echo "\n<TD><B>Текстовое поле</B></TD>"; echo "\n<TD><B>Текстовая область</B></TD>"; echo "\n<TD><B>Поле пароля</B></TD>"; echo "\n<TD><B>Поле адреса Интернет-сайта</B></TD>";
35
echo "\n<TD><B>Поле адреса электронной почты</B> </TD>"; echo "\n<TD><B>Поле номера телефона</B></TD>"; echo "\n<TD><B>Выбор даты</B></TD>"; echo "\n<TD><B>Выбор времени</B></TD>"; echo "\n<TD><B>Выбор цвета</B></TD>"; echo "\n<TD><B>Загрузка файла</B></TD>"; echo "\n<TD><B>Однозначный список</B></TD>"; echo "\n<TD><B>Множественный список</B></TD>"; echo "\n<TD><B>Однозначный выбор</B></TD>"; echo "\n<TD><B>Множественный выбор</B></TD>"; echo "\n</TR>"; // Вывод строк данных из текстового файла for ($n = 0; $n<count($Data); $n++) { $Data[$n] = trim($Data[$n]); $GetLine = explode("\t", $Data[$n]); echo "\n<TR valign=top width=100% "; if ($n%2 == 0) { echo "bgcolor=#FFFFFF"; } else { echo "bgcolor=#E0FFFF"; } echo ">\n<TD align=center><B>".($n+1)."</B></TD>"; // Вывод данных из скрытого элемента settype($GetLine[0], string); if ($GetLine[0]=="") { echo "\n<TD>Информация из скрытого элемента отсутствует!</TD>"; } else { echo "\n<TD>".$GetLine[0]."</TD>"; } // Вывод данных из текстового поля settype($GetLine[1], string); if ($GetLine[1]=="") { echo "\n<TD>Информация из текстового поля отсутствует!</TD>"; }
36
else { echo "\n<TD>".$GetLine[1]."</TD>"; } // Вывод данных из текстовой области settype($GetLine[2], string); if ($GetLine[2]=="") { echo "\n<TD>Информация из текстовой области отсутствует!</TD>"; } else { $GetLine[2] = str_replace("##","<BR>",$GetLine[2]); echo "\n<TD>".$GetLine[2]."</TD>"; } // Вывод данных из поля пароля settype($GetLine[3], string); if ($GetLine[3]=="") { echo "\n<TD>Информация из поля пароля отсутствует! </TD>"; } else { echo "\n<TD>".$GetLine[3]."</TD>"; } // Вывод данных из поля адреса Интернет-сайта settype($GetLine[4], string); if ($GetLine[4]=="") { echo "\n<TD>Информация из поля адреса Интернет-сайта отсутствует!</TD>"; } else { echo "\n<TD><A href=\"".$GetLine[4]."\">".$GetLine[4]. "</A></TD>"; } // Вывод данных из поля адреса электронной почты settype($GetLine[5], string); if ($GetLine[5]=="") { echo "\n<TD>Информация из поля адреса электронной почты отсутствует!</TD>"; }
37
else { echo "\n<TD><A href=\"mailto:".$GetLine[5]."\">". $GetLine[5]."</A></TD>"; } // Вывод данных из поля номера телефона settype($GetLine[6], string); if ($GetLine[6]=="") { echo "\n<TD>Информация из поля номера телефона отсутствует!</TD>"; } else { echo "\n<TD>".$GetLine[6]."</TD>"; } // Вывод данных о выборе даты settype($GetLine[7], string); if ($GetLine[7]=="") { echo "\n<TD>Информация о выборе даты отсутствует!</TD>"; } else { $razd = "-"; $vgod = substr($GetLine[7],0,strpos($GetLine[7],$razd)); $vmes = substr($GetLine[7],(strpos($GetLine[7],$razd)+1), strpos(substr($GetLine[7],(strpos($GetLine[7],$razd)+1)),$razd)); $vday = substr($GetLine[7],(strpos($GetLine[7],$razd)+ strpos(substr($GetLine[7],(strpos($GetLine[7],$razd)+1)),$razd)+2); echo "\n<TD>".$vday.".".$vmes.".".$vgod."</TD>"; } // Вывод данных о выборе времени settype($GetLine[8], string); if ($GetLine[8]=="") { echo "\n<TD>Информация о выборе времени отсутствует!</TD>"; } else { echo "\n<TD>".$GetLine[8]."</TD>"; } // Вывод данных о выборе цвета
38
settype($GetLine[9], string); if ($GetLine[9]=="") { echo "\n<TD>Информация о выборе цвета отсутствует! </TD>"; } else { echo "\n<TD><FONT color=\"".$GetLine[9]."\">". $GetLine[9]."</FONT></TD>"; } // Вывод данных о выборе файла settype($GetLine[10], string); if ($GetLine[10]=="") { echo "\n<TD>Информация о выборе файла отсутствует!</TD>"; } else { if (@file_exists(iconv('utf-8','windows-1251',$dirs."/". $GetLine[10]))) { echo "\n<TD><A href=\"".$dirs."/".$GetLine[10]."\" target=\"_blank\">".$GetLine[10]."</A><BR>(".(round(filesize($dirs."/".iconv('u tf-8','windows-1251',$GetLine[10]))/(1024*1024),2))." Мбайт)</TD>"; } else { echo "\n<TD>Файл ".$GetLine[10]." не доступен</TD>"; } } // Вывод данных из однозначного списка settype($GetLine[11], integer); if ($GetLine[11]==-1) { echo "\n<TD>Не выделен элемент однозначного списка</TD>"; } else { echo "\n<TD>".$mods[$GetLine[11]]."</TD>"; } // Вывод данных из множественного списка settype($GetLine[12], string); if ($GetLine[12]=="-1") {
39
echo "\n<TD>Не выделены элементы множественного списка</TD>";
} else { echo "\n<TD>"; $fmns = explode("##", $GetLine[12]); for ($j = 0; $j<count($fmns); $j++) { settype($fmns[$j], integer); echo $mmns[$fmns[$j]]; if ($j!=count($fmns)-1) { echo "<BR>"; } } echo "</TD>"; } // Вывод данных из однозначного выбора settype($GetLine[13], integer); if ($GetLine[13]==-1) { echo "\n<TD>Не выделен элемент однозначного выбора</TD>"; } else { echo "\n<TD>".$modv[$GetLine[13]]."</TD>"; } // Вывод данных из множественного выбора settype($GetLine[14], string); if ($GetLine[14]=="-1") { echo "\n<TD>Не выделены элементы множественного выбора</TD>"; } else { echo "\n<TD>"; $fmnv = explode("##", $GetLine[14]); for ($j = 0; $j<count($fmnv); $j++) { settype($fmnv[$j], integer); echo $mmnv[$fmnv[$j]];
40
if ($j!=count($fmnv)-1) { echo "<BR>"; } } echo "</TD>"; } echo "\n</TR>"; } echo "\n</TABLE>"; echo "\n</DIV>"; } // Закрытие текстового файла @fclose($Openf); } ?> <HR color=green size=2> </BODY> </HTML>
1.2. Администрирование форм динамических Интернет-страниц с
сохранением информации в текстовом файле
Представленная ниже программа предназначена для полноценного
управления содержимым текстового файла администратором динамического
Интернет-сайта, подразумевающего реализацию не только имеющихся в рамках
пользовательской программы возможностей по добавлению новой строки данных (рис. 6) и выводу информации с точки зрения текстового файла, но и
возможностей по изменению и удалению произвольных выбираемых
администратором с помощью необходимых элементов управления строк
данных в рамках единой визуальной формы (рис. 7).
Исходный код программы имеет следующий вид:
<HTML><HEAD> <?PHP
// Формирование одномерных массивов для элементов формы // Однозначный список
$mods = array(); $mods[0] = "Вариант 11"; $mods[1] = "Вариант 12"; $mods[2] = "Вариант 13"; $mods[3] = "Вариант 14";
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]