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

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

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
11
$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";
Рисунок 2. Формирование значений исходных данных на форме в рамках ди-
намической Интернет-страницы
12
Рисунок 3. Вывод результатов обработки формы в рамках исходной
динамической Интернет-страницы
// Формирование директории для хранения загружаемых файлов
$dirs = "files_obr";
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 = "Ошибка загрузки файла!";
13
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>
<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=5 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>Поле адреса Интернет-сайта (http://www.xxx.xxx)</TD>
<TD><INPUT type=url name=st value=""></INPUT></TD>
</TR>
14
<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}" val­ue=""></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";
}
?>
15
</SELECT></TD></TR>
<TR valign=top><TD>Однозначный выбор</TD><TD>
<?PHP
for ($i=0;$i<count($modv);$i++)
{
echo "<INPUT type=radio name=odv[] val­ue=".$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[] val­ue=".$i.">".$mmnv[$i]."</INPUT><BR>\n";
}
?>
</TD></TR>
<TR align=center>
<TD><INPUT type=submit name=obr value="Обработка данных"></INPUT></TD>
<TD><INPUT type=reset value="Отмена"></INPUT></TD></TR>
</TABLE></FORM>
</DIV>
<?PHP
// Обработка исходных данных
if (isset($_POST['obr']))
{
// Получение данных из скрытого элемента
settype($_POST['hdn'], string);
$obrhdn = trim(strip_tags($_POST['hdn']));
// Получение данных из текстового поля
settype($_POST['tp'], string);
$obrtp = trim(strip_tags($_POST['tp']));
// Получение данных из текстовой области
settype($_POST['to'], string);
$obrto = trim(strip_tags($_POST['to']));
$obrto = str_replace("\r\n","##",$obrto);
// Получение данных из поля пароля
settype($_POST['ps'], string);
$obrps = trim(strip_tags($_POST['ps']));
16
// Получение данных из поля адреса Интернет-сайта
settype($_POST['st'], string);
$obrst = trim(strip_tags($_POST['st']));
// Получение данных из поля адреса электронной почты
settype($_POST['et'], string);
$obret = trim(strip_tags($_POST['et']));
// Получение данных из поля номера телефона
settype($_POST['tl'], string);
$obrtl = trim(strip_tags($_POST['tl']));
// Получение данных о выборе даты
settype($_POST['dtv'], string);
$obrdtv = trim(strip_tags($_POST['dtv']));
// Получение данных о выборе времени
settype($_POST['ttv'], string);
$obrttv = trim(strip_tags($_POST['ttv']));
// Получение данных о выборе цвета
settype($_POST['clv'], string);
$obrclv = trim(strip_tags($_POST['clv']));
// Получение данных о загружаемом файла
if ($_FILES['flv']['name']!="")
{
settype($_FILES['flv']['name'], string);
$obrflv = $_FILES['flv']['name'];
if (@copy(iconv('utf-8','windows-1251',$_FILES['flv']['tmp_name']), $dirs."/".iconv('utf-8','windows-1251',$obrflv)))
{
// echo "<FONT color=blue><B>Файл ".$obrflv." успешно загружен!</B></FONT>";
}
else
{
// echo "<FONT color=red><B>Файл ".$obrflv." невозможно загрузить!</B></FONT>";
$obrflv = "";
}
@unlink($_FILES['flv']['tmp_name']);
}
// Получение данных из однозначного списка
$vods = 0;
for ($i=0;$i<count($_POST['ods']);$i++)
{
$vods++;
settype($_POST['ods'][$i], integer);
17
$obrods = $_POST['ods'][$i];
}
if ($vods==0)
{
$obrods = -1;
}
// Получение данных из множественного списка
$vmns = 0;
$obrmns = "";
for ($i=0;$i<count($_POST['mns']);$i++)
{
$vmns++;
settype($_POST['mns'][$i], integer);
$obrmns = $obrmns.trim(strip_tags($_POST['mns'][$i]));
if ($i!=count($_POST['mns'])-1)
{
$obrmns = $obrmns."##";
}
}
if ($vmns==0)
{
$obrmns = -1;
}
// Получение данных из однозначного выбора
$vodv = 0;
for ($i=0;$i<count($_POST['odv']);$i++)
{
$vodv++;
settype($_POST['odv'][$i], integer);
$obrodv = $_POST['odv'][$i];
}
if ($vodv==0)
{
$obrodv = -1;
}
// Получение данных из множественного выбора
$vmnv = 0;
$obrmnv = "";
for ($i=0;$i<count($_POST['mnv']);$i++)
{
$vmnv++;
settype($_POST['mnv'][$i], integer);
$obrmnv = $obrmnv.trim(strip_tags($_POST['mnv'][$i]));
18
if ($i!=count($_POST['mnv'])-1)
{
$obrmnv = $obrmnv."##";
}
}
if ($vmnv==0)
{
$obrmnv = -1;
}
// Вывод исходных данных
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 cellpad­ding=2>";
// Строка заголовка
echo "\n<TR valign=top align=center bgcolor=#7FFFD4>";
echo "\n<TD><B>Элемент формы</B></TD>";
echo "\n<TD><B>Значение элемента формы</B></TD>";
echo "\n</TR>";
// Вывод данных из скрытого элемента
echo "\n<TR valign=top align=left bgcolor=#FFFFFF>";
echo "\n<TD>Скрытый элемент</TD>";
settype($obrhdn, string);
if ($obrhdn=="")
{
echo "\n<TD>Информация из скрытого элемента отсутствует!</TD>";
}
else
{
echo "\n<TD>".$obrhdn."</TD>";
}
echo "\n</TR>";
// Вывод данных из текстового поля
echo "\n<TR valign=top align=left bgcolor=#E0FFFF>";
echo "\n<TD>Текстовое поле</TD>";
settype($obrtp, string);
if ($obrtp=="")
{
19
echo "\n<TD>Информация из текстового поля отсутствует!</TD>";
}
else
{
echo "\n<TD>".$obrtp."</TD>";
}
echo "\n</TR>";
// Вывод данных из текстовой области
echo "\n<TR valign=top align=left bgcolor=#FFFFFF>";
echo "\n<TD>Текстовая область</TD>";
settype($obrto, string);
if ($obrto=="")
{
echo "\n<TD>Информация из текстовой области отсутствует!</TD>";
}
else
{
$obrto = str_replace("##","<BR>",$obrto);
echo "\n<TD>".$obrto."</TD>";
}
echo "\n</TR>";
// Вывод данных из поля пароля
echo "\n<TR valign=top align=left bgcolor=#E0FFFF>";
echo "\n<TD>Поле пароля</TD>";
settype($obrps, string);
if ($obrps=="")
{
echo "\n<TD>Информация из поля пароля отсутствует!</TD>";
}
else
{
echo "\n<TD>".$obrps."</TD>";
}
echo "\n</TR>";
// Вывод данных из поля адреса Интернет-сайта
echo "\n<TR valign=top align=left bgcolor=#FFFFFF>";
echo "\n<TD>Поле адреса Интернет-сайта</TD>";
settype($obrst, string);
if ($obrst=="")
{
echo "\n<TD>Информация из поля адреса Интернет-сайта отсутству- ет!</TD>";
}
20
else
{
echo "\n<TD><A href=\"".$obrst."\">".$obrst."</A></TD>";
}
echo "\n</TR>";
// Вывод данных из поля адреса электронной почты
echo "\n<TR valign=top align=left bgcolor=#FFFFFF>";
echo "\n<TD>Поле адреса электронной почты</TD>";
settype($obret, string);
if ($obret=="")
{
echo "\n<TD>Информация из поля адреса электронной почты отсут- ствует!</TD>";
}
else
{
echo "\n<TD><A href=\"mailto:".$obret."\">".$obret."</A></TD>";
}
echo "\n</TR>";
// Вывод данных из поля номера телефона
echo "\n<TR valign=top align=left bgcolor=#E0FFFF>";
echo "\n<TD>Поле номера телефона</TD>";
settype($obrtl, string);
if ($obrtl=="")
{
echo "\n<TD>Информация из поля номера телефона отсутству- ет!</TD>";
}
else
{
echo "\n<TD>".$obrtl."</TD>";
}
echo "\n</TR>";
// Вывод данных о выборе даты
echo "\n<TR valign=top align=left bgcolor=#FFFFFF>";
echo "\n<TD>Выбор даты</TD>";
settype($obrdtv, string);
if ($obrdtv=="")
{
echo "\n<TD>Информация о выборе даты отсутствует!</TD>";
}
else
{
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]