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