Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сетевые технологии. Обработка форм в рамках динамических Интернет-сайтов. Учебное пособие
.pdf
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";
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
