<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; PHP</title>
	<atom:link href="http://web.snauka.ru/issues/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Реализация кода Хаффмана на языке PHP</title>
		<link>https://web.snauka.ru/issues/2015/02/46793</link>
		<comments>https://web.snauka.ru/issues/2015/02/46793#comments</comments>
		<pubDate>Sun, 08 Feb 2015 09:32:52 +0000</pubDate>
		<dc:creator>Николаев Сергей Валерьевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Huffman]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[theory information]]></category>
		<category><![CDATA[web-interface]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=46793</guid>
		<description><![CDATA[Код Хаффмана является одним из самых распространенных методов сжатия данных. Разработан в 1952 г. [1] и до сих пор используется архиваторами либо полностью, либо как один из этапов многоуровневого сжатия. Для профессий, связанных с информационными технологиями, понимание основных идей кода Хаффмана и методов его реализации, будет актуально и полезно. Код Хаффмана часто описывается в книгах [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Код Хаффмана является одним из самых распространенных методов сжатия данных. Разработан в 1952 г. [1] и до сих пор используется архиваторами либо полностью, либо как один из этапов многоуровневого сжатия. Для профессий, связанных с информационными технологиями, понимание основных идей кода Хаффмана и методов его реализации, будет актуально и полезно.</p>
<p style="text-align: justify;"><span>Код Хаффмана часто описывается в книгах по информационной безопасности [2, 3, 4] Теоретические основы алгоритма, так же описаны во многих источниках [5, 6]. Алгоритм построение бинарного дерева на Java Script описан в работе А.Б. Веретенникова [7]. С.И. Горяинов рассмотрел перестройку бинарных деревьев в алгоритме Хаффмана [8]. Реализацию алгоритма Хаффмана с заданной длиной разбиений входного потока на машинах Тьюринга с почти линейным временем показал М.А.Герасимов [9]. Зарубежные ученые так же применяют рассматриваемый алгоритм в своих исследованиях [10, 11].<br />
</span></p>
<p style="text-align: justify;"><span>Рассмотрим алгоритм на примере кодировки текста. Существует некий алфавит и каждому символу отводится фиксированное количество бит. Алгоритм Хаффмана кодирует каждый символ в зависимости от частоты использования символа. Символ, который чаще других используется, присваивается короткий двоичный код, следовательно, тот символ, который используется реже всего, имеет самый длинный код. После кодировки, сообщение будет весить меньше, чем изначально.<br />
</span></p>
<p style="text-align: justify;"><span>Представим алгоритм на конкретном примере. Закодируем сообщение: «теория_информации». Частоты каждого символа представлены в табл.1.<br />
</span></p>
<p><span>Таблица 1 – Сообщение «теория_информации»<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" />
<col style="width: 59px;" /></colgroup>
<tbody valign="top">
<tr style="height: 1px;">
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;">
<p style="text-align: center;"><span><strong>т</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>е</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>о</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>р</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>и</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>я</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>_</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>н</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>ф</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>м</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>а</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>ц</span></p>
</td>
</tr>
<tr style="height: 1px;">
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>1</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>1</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>2</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>2</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><span>Теперь будем складывать две самые маленькие частоты. В данном случае сложим частоты символов «т» и «е», а в новом таблице сумму их частот подпишем как «те» (табл.2).<br />
</span></p>
<p><span>Таблица 2 – Первый этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>те</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>о</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>я</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>_</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>н</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>м</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>а</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ц</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><span>Теперь снова ищем два символа с наименьшими частотами. Это символы «я» и «_» (табл.3).<br />
</span></p>
<p><span>Таблица 3 – Второй этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>те</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>о</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>я_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>н</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>ф</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>м</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>а</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ц</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><span>Продолжим эти действия до тех пор, пока не останется два столбца. Столбцы, которые будем складывать, выделим полужирным шрифтом (табл.4-11).<br />
</span></p>
<p><span>Таблица 4 – Третий этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>те</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>о</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>Р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>я_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>нф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>м</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>а</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>Ц</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>1</span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 5 – Четвертый этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>те</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>о</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>Р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>я_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>нф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>ма</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>ц</strong></span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>1</strong></span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 6 – Пятый этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 55px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span><strong>те</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>о</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>Р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>я_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>нф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>мац</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>3</span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 7 – Шестой этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 55px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>тео</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>р</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>И</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>я_</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>нф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>мац</span></td>
</tr>
<tr style="height: 10px;">
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>2</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>3</span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 8 – Седьмой этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 55px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>тео</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ря_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>И</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>нф</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>мац</strong></span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>2</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>3</strong></span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 9 – Восьмой этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 53px;" />
<col style="width: 83px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span><strong>тео</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>ря_</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>И</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>нфмац</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>4</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>4</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>4</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>5</span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 10 – Девятый этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 72px;" />
<col style="width: 53px;" />
<col style="width: 83px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>теоря_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>и</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>нфмац</strong></span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>8</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>4</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span><strong>5</strong></span></td>
</tr>
</tbody>
</table>
</div>
<p><span>Таблица 11 – Десятый этап кодирования сообщения<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 72px;" />
<col style="width: 96px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span>теоря_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>инфмац</span></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>8</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;"><span>9</span></td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><span>Построим бинарное дерево по таблицам. Левым ветвям будем приписывать в коде 0, а правым ветвям 1. Через дефис будем указывать кодировку символа.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/020815_0832_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1 – Бинарное дерево<br />
</span></p>
<p><span>В итоге получилась следующая кодовая таблица (табл.12).<br />
</span></p>
<p><span>Таблица 12 – Кодовая таблица<br />
</span></p>
<div style="text-align: center;">
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 101px;" />
<col style="width: 160px;" />
<col style="width: 105px;" />
<col style="width: 276px;" /></colgroup>
<tbody valign="top">
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid 1pt;"><span><strong>Символ</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>Двоичный код</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>Частота</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 1pt; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span><strong>Вес закодированного символа</strong></span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>т</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>0000</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>е</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>0001</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>о</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>001</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>2</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>3 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>р</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>011</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>2</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>3 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>и</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>11</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>2 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>я</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>0100</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>_</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>0101</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>н</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1000</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ф</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1001</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>м</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>10100</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>5 бит</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>а</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>10101</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>5 бит</span></p>
</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 1pt; border-bottom: solid 1pt; border-right: solid 1pt;"><span>ц</span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1011</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>1</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 1pt; border-right: solid 1pt;">
<p style="text-align: center;"><span>4 бита</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: justify;"><span>Закодированное сообщение будет выглядеть так:<br />
</span></p>
<p style="text-align: justify;"><span><strong>0000000100101111010001011110001001001011101001010110111111<br />
</strong></span></p>
<p style="text-align: justify;"><span>Код Хаффмана является префиксным кодом, т.е. код символа не является частью кода другого символа, следовательно, интерпретируется однозначно. Сравним вес сообщения закодированного с помощью ASCII и сообщение, закодированное по алгоритму Хаффмана.<br />
</span></p>
<p style="text-align: justify;"><span><strong>ASCII:</strong><br />
</span></p>
<p style="text-align: justify;"><span>17 * 8 бит = 122 бита<br />
</span></p>
<p style="text-align: justify;"><span><strong>Код Хаффмана:</strong><br />
</span></p>
<p style="text-align: justify;"><span>4 бита + 4 бита + 2 * 3 бита + 2 * 3 бита + 4 * 2 бита + 4 бита + 4 бита + 4 бита + 4 бита + 5 бит + 5 бит + 4 бита = 58 бит<br />
</span></p>
<p style="text-align: justify;"><span>Сообщение, закодированное с помощью алгоритма Хаффмана, весит примерно в два раза меньше.<br />
</span></p>
<p style="text-align: center;"><span><strong>Реализация приложения на PHP.<br />
</strong></span></p>
<p style="text-align: justify;"><span>Приложение должно выполнять следующие действия:<br />
</span></p>
<ul>
<li><span>Составить таблицу частот (вероятностей появления символов)<br />
</span></li>
<li><span>Построить бинарное дерево<br />
</span></li>
<li><span>Сгенерировать код для каждого символа<br />
</span></li>
<li><span>Вывести закодированный результат<br />
</span></li>
</ul>
<p style="text-align: justify;"><span>Приводим образец кода, в данном случае, функцию составления таблиц частот (рис.2).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/020815_0832_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 2 – Образец кода<br />
</span></p>
<p style="text-align: justify;"><span>Для ввода сообщения приложение выглядит на рис.3.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/020815_0832_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3 – Ввод сообщения<br />
</span></p>
<p style="text-align: justify;"><span>После ввода сообщения и нажатия кнопки «Сжать», приложение выдает результат (рис.4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/020815_0832_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4 – Сгенерированное сообщение<br />
</span></p>
<p style="text-align: justify;"><span>Отметим при этом, что закодированное сообщение в приложении отличается от варианта выше. Выведем кодовую таблицу для сравнения с таблицей в разделе теория (рис.5).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/020815_0832_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 5 – Кодовая таблица<br />
</span></p>
<p style="text-align: justify;"><span>Заметим, что код каждому символу присвоен другой. Вызвано это тем, что изначально много символов, с одинаковой частотой и в процессе построение дерева, часто был выбор в сложении частот, который при этом не влиял на эффективность алгоритма, или распределение символа в другую ветвь, что также влияло на итоговый код символа. Однако по-прежнему самый частый символ «и» закодирован в 2 бита, символы «р» и «о» 3 битами, что в итоге говорит о том, что вес закодированного сообщения по-прежнему равен 58 бит.<br />
</span></p>
<p style="text-align: justify;"><span>Проведенное исследование может быть использовано в преподавании различных дисциплин, связанных с передачей информации.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2015/02/46793/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Анализ средств разработки web-страниц</title>
		<link>https://web.snauka.ru/issues/2017/08/84242</link>
		<comments>https://web.snauka.ru/issues/2017/08/84242#comments</comments>
		<pubDate>Fri, 25 Aug 2017 11:52:22 +0000</pubDate>
		<dc:creator>Кувайцев Александр Вячеславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web-сайт]]></category>
		<category><![CDATA[база данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=84242</guid>
		<description><![CDATA[Извините, данная статья доступна только на языке: English.]]></description>
			<content:encoded><![CDATA[<p>Извините, данная статья доступна только на языке: <a href="https://web.snauka.ru/en/issues/tag/php/feed">English</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/08/84242/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка базы данных «Учебная база данных» для организации, оказывающей образовательные услуги</title>
		<link>https://web.snauka.ru/issues/2023/11/100997</link>
		<comments>https://web.snauka.ru/issues/2023/11/100997#comments</comments>
		<pubDate>Mon, 20 Nov 2023 13:32:00 +0000</pubDate>
		<dc:creator>Антипина Виктория Александровна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[база данных MySQL]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2023/11/100997</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Разработка базы данных «Учебная база данных» для организации, оказывающей образовательные услуги, имеет большую актуальность по нескольким причинам: 1. Улучшение управления информацией: База данных позволяет организации эффективно хранить, управлять и обрабатывать огромное количество данных, таких как информация об учениках, учителях, расписаниях и оценках. Это облегчает [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p>Разработка базы данных «Учебная база данных» для организации, оказывающей образовательные услуги, имеет большую актуальность по нескольким причинам:</p>
<p>1. Улучшение управления информацией: База данных позволяет организации эффективно хранить, управлять и обрабатывать огромное количество данных, таких как информация об учениках, учителях, расписаниях и оценках. Это облегчает процессы администрирования и делает информацию доступной и легко управляемой.</p>
<p>2. Улучшение доступности информации: База данных позволяет быстро и легко находить нужную информацию о учениках, их успеваемости, академической истории и других аспектах образовательного процесса. Это помогает в принятии информированных решений и повышает эффективность и качество образования.</p>
<p>3. Автоматизация процессов: Разработка учебной базы данных позволяет автоматизировать рутинные процессы, такие как регистрация учеников, формирование расписания и генерация отчетов. Это сокращает количество ошибок, экономит время и ресурсы организации.</p>
<p>4. Улучшение аналитики и прогнозирования: С помощью базы данных можно анализировать различные аспекты образовательного процесса, проводить статистический анализ, выявлять тенденции и прогнозировать результаты. Это помогает в принятии информированных решений, планировании и повышении эффективности обучения.</p>
<p>Все эти факторы делают разработку базы данных «Учебная база данных» актуальной и полезной для организаций, оказывающих образовательные услуги.</p>
<p>Предлагаемая статья описывает процесс создания базы данных с использованием HTML, .php и базы данных MySQL. База данных (БД) представляет собой структурированный набор данных. Обычно данные в БД записываются в виде таблицы, состоящей из строк и столбцов. Каждая строка представляет собой новый элемент с определенными свойствами &#8211; столбцами. Данные в БД могут быть отсортированы по различным параметрам, например, по предмету или дню. Также возможно создание формы для поиска данных по предмету, добавление и изменение данных, создание отчетов.</p>
<p>Разработка базы данных может быть эффективным дополнением к учебному процессу и способствовать развитию различных навыков и знаний учащихся. Например:</p>
<p>- Участие в решении практических задач технического, эксплуатационного или проектного характера.</p>
<p>- Знакомство со специализированным оборудованием и программным обеспечением, изучение их технологических процессов.</p>
<p>- Анализ документооборота с использованием систем управления базами данных.</p>
<p>- Поддержание работоспособности существующих баз данных (добавление новых данных, редактирование существующих данных, удаление устаревшей информации, резервное копирование баз данных и т. д.).</p>
<p>- Создание новых таблиц данных в учебной базе данных.</p>
<p>- Создание новых форм ввода данных в базе данных.</p>
<p>- Создание новых форм поиска информации в базе данных (по необходимости).</p>
<p>- Разработка новых отчетов в базе данных.</p>
<p>Создадим базу данных и перейдем на портал hostland.ru. Для удобства нам понадобится отдельный файл подключения к серверу, который будем использовать в других .php-файлах. Это поможет избежать дублирования кода. Давайте создадим файл под названием &#8220;data.php&#8221; в директории подключения и напишем необходимый код (рисунок 1).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2023/11/111623_1832_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1. Объект data.php</span></p>
<p>Для создания новых полей в нашей будущей базе данных, нам нужно определить структуру основной таблицы, где будут храниться предоставляемые предметы. Структура достаточно проста. Мы можем определить новые поля следующим образом: or_id, or_name, or_klass, or_pred, pred_name, pred_id, pred_cabinet и teacher. Именно эти поля будут удобны при создании базы данных для объектов, связанных с предметами (Рисунок 2).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2023/11/111623_1832_2.png" alt="" /><span style="color: black;"><br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2023/11/111623_1832_3.png" alt="" /><span style="color: black;"><br />
</span></p>
<p style="text-align: center;"><span style="color: black;">Рисунок 2. Структура таблицы<br />
</span></p>
<p>Создадим новые таблицы в базе данных. Для работы с базой данных необходимо разработать удобный интерфейс. Стиль пропишем в создаваемом файле, в этом файле напишем php код :</p>
<p>&lt;!DOCTYPE html PUBLIC &#8220;-//W3C//DTD XHTML 1.0 Strict//EN&#8221;</p>
<p>&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#8221;&gt;</p>
<p>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;</p>
<p>&lt;style&gt;</p>
<p>.header-h1 {</p>
<p>text-align: center;</p>
<p>margin-bottom: .5rem;</p>
<p>}</p>
<p>.header-h1 h1 {</p>
<p>display: inline-block;</p>
<p>background:#8FBC8F;</p>
<p>color: #000000;</p>
<p>margin-bottom: 0;</p>
<p>padding: .5rem 1rem .500rem 1rem;</p>
<p>font-size: 1.5rem;</p>
<p>text-transform: uppercase;</p>
<p>border-radius: 30px;</p>
<p>position: relative;</p>
<p>top: 0px;</p>
<p>left: -10px;</p>
<p>}</p>
<p>th, td {</p>
<p>padding: 10px;</p>
<p>position: relative;</p>
<p>top: 0px;</p>
<p>left: -38px;</p>
<p>}</p>
<p>th {</p>
<p>background: #006400;</p>
<p>color: #FFFFFF;</p>
<p>}</p>
<p>td {</p>
<p>background: #98FB98;</p>
<p>}</p>
<p>&lt;/style&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;style_table.css&#8221;&gt;</p>
<p>&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;style.css&#8221;&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;div&gt;</p>
<p>&lt;h1&gt;Учебная база данных &lt;/h1&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>1. В блоке стилей (&lt;style&gt;&#8230;&lt;/style&gt;) определены следующие стили:</p>
<p>- .header-h1 &#8211; задает выравнивание по центру, отступ снизу и фон заголовка.</p>
<p>- .header-h1 h1 &#8211; задает отображение заголовка в виде блока, фон, цвет текста, отступы и другие параметры.</p>
<p>- th, td &#8211; задают отступы и позиционирование для ячеек заголовка и данных таблицы.</p>
<p>- th &#8211; задает фон и цвет текста для ячеек заголовка.</p>
<p>- td &#8211; задает фон для ячеек данных таблицы.</p>
<p>2. В тегах &lt;head&gt;&#8230;&lt;/head&gt; заданы метаданные страницы и ссылки на внешние таблицы стилей (style_table.css и style.css).</p>
<p>3. В блоке &lt;body&gt;&#8230;&lt;/body&gt; определена верхняя часть страницы (header-h1) со шрифтом и выравниванием по центру.Общий смысл данного кода &#8211; создание стилей для заголовка и таблицы на веб-странице &#8220;Учебная база данных&#8221;.</p>
<p>Вывод данных удобно оформить в виде таблицы (Рисунок.3).</p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2023/11/111623_1832_4.png" alt="" /><span style="color: black;"><br />
</span></p>
<p style="text-align: center;"><span style="color: black;">Рисунок 3. Вывод данных<br />
</span></p>
<p>Создадим файл, в этом файле напишем php код, в котором будет задан запрос на вывод предмета под id=2:</p>
<p>&lt;?php include_once(&#8220;view/menu.php&#8221;);?&gt;</p>
<p>&lt;div class=&#8221;content&#8221;&gt;</p>
<p>&lt;?php include_once(&#8220;connection/data.php&#8221;);?&gt;</p>
<p>&lt;?</p>
<p>$con = new data();</p>
<p>$sql = $con-&gt;prepare(&#8220;SELECT DISTINCT organiz.or_name, organiz.or_client, organiz.or_pred, organiz.teacher, klienti.kl_name, predmet.pred_name, predmet.pred_cabinet FROM organiz, klienti, predmet WHERE organiz.or_client=klienti.kl_id AND organiz.or_pred = predmet.pred_id&#8221;);</p>
<p>$sql-&gt;execute(array());</p>
<p>echo &#8220;\n&lt;table&gt;\n&#8221;;</p>
<p>echo &#8220;&lt;tr&gt;\n&#8221;;</p>
<p>echo &#8220;\t&lt;th&gt;&#8221; . &#8220;День недели&#8221; . &#8220;&lt;/th&gt;&#8221;;</p>
<p>echo &#8220;&lt;th&gt;&#8221; . &#8220;Класс&#8221; . &#8220;&lt;/th&gt;&#8221;;</p>
<p>echo &#8220;&lt;th&gt;&#8221; . &#8220;Предмет&#8221; . &#8220;&lt;/th&gt;&#8221;;</p>
<p>echo &#8220;&lt;th&gt;&#8221; . &#8220;Кабинет&#8221; . &#8220;&lt;/th&gt;&#8221;;</p>
<p>echo &#8220;&lt;th&gt;&#8221; . &#8220;Учитель&#8221; . &#8220;&lt;/th&gt;&#8221;;</p>
<p>while($rs = $sql-&gt;fetch()){</p>
<p>echo &#8220;&lt;tr&gt;\n&#8221;;</p>
<p>echo &#8220;\t&lt;td&gt;&#8221; .  $rs['or_name'] . &#8220;&lt;/td&gt;&#8221;;</p>
<p>echo &#8220;&lt;td&gt;&#8221; .  $rs['kl_name'] . &#8220;&lt;/td&gt;&#8221;;</p>
<p>echo &#8220;&lt;td&gt;&#8221; .  $rs['pred_name'] . &#8220;&lt;/td&gt;&#8221;;</p>
<p>echo &#8220;&lt;td&gt;&#8221; .  $rs['pred_cabinet'] . &#8220;&lt;/td&gt;&#8221;;</p>
<p>echo &#8220;&lt;td&gt;&#8221; .  $rs['teacher'] . &#8220;&lt;/td&gt;&#8221;;</p>
<p>}</p>
<p>echo &#8220;\n&lt;/table&gt;\n&#8221;;</p>
<p>?&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>Данный код является PHP-кодом для генерации содержимого веб-страницы. Он выполняет следующие действия:</p>
<p>1. Импортирует содержимое файла &#8220;menu.php&#8221; с помощью функции include_once(&#8220;view/menu.php&#8221;). Это позволяет добавить содержимое этого файла в текущую страницу.</p>
<p>2. Создает блок &lt;div&gt;, который будет содержать основное содержимое страницы.</p>
<p>3. Импортирует содержимое файла &#8220;data.php&#8221; с помощью функции include_once(&#8220;connection/data.php&#8221;). Вероятно, этот файл содержит код, отвечающий за соединение с базой данных и выполнение запросов.</p>
<p>4. Создает экземпляр класса &#8220;data&#8221; (предположительно, это класс для работы с базой данных) с помощью выражения $con = new data();.</p>
<p>5. Подготавливает SQL-запрос SELECT DISTINCT&#8230; с помощью метода prepare объекта $con с передачей параметров, вызывает его выполнение с помощью execute(array()).</p>
<p>6. Генерирует разметку таблицы с помощью конструкций echo и цикла while, выводя полученные значения из результата запроса. Каждая строка результатов запроса отображается в виде строки &lt;tr&gt;, а значения в столбцах колонок отображаются в элементах &lt;td&gt;. Заголовки столбцов отображаются в элементах &lt;th&gt;.</p>
<p>7. Закрывает разметку таблицы с помощью конструкций echo.</p>
<p>8. Закрывает блок &lt;div&gt;.</p>
<p>Метод prepare() играет важную роль в работе с базами данных в PHP. Он используется для подготовки SQL-запроса перед его выполнением, и предоставляет следующие преимущества:</p>
<p>1. Защита от SQL-инъекций: Метод prepare() позволяет использовать подстановочные символы в SQL-запросе, что защищает от атак SQL-инъекций. Он эскейпирует значения, передаваемые в запрос, и позволяет их безопасно вставлять в SQL-запрос.</p>
<p>2. Повторное использование запросов: Метод prepare() позволяет подготовить SQL-запрос с плейсхолдерами (знаками вопроса или именованными метками) для значений, которые будут переданы позже. Это позволяет повторно использовать один и тот же запрос с различными значениями, что повышает эффективность выполнения запросов.</p>
<p>3. Улучшение производительности: Так как метод prepare() выполняет только подготовку запроса, а не его выполнение, он может улучшить производительность при выполнении большого количества операций с базой данных. Подготовленный запрос кэшируется и может использоваться повторно без необходимости повторной компиляции.</p>
<p>4. Удобство чтения и отладки: Использование плейсхолдеров в SQL-запросе, вместо вставки значений напрямую, делает код более читаемым и позволяет легко отслеживать и изменять значения, передаваемые в запрос.</p>
<p>Представленный код содержит PHP-скрипт для генерации содержимого веб-страницы. Он включает импорт файлов, подготовку и выполнение SQL-запроса к базе данных, а также генерацию таблицы с полученными данными. Код использует стандартные возможности PHP для работы с базами данных и веб-страницами. Он не представляет ничего нового или революционного, но демонстрирует хорошую практику использования метода prepare() для безопасной работы с базой данных и разделение кода на отдельные файлы для улучшения читаемости и повторного использования.</p>
<p>Далее алгоритм создания базы данных будет следующим:</p>
<p>1. Следующий шаг &#8211; создание формы для добавления новых данных.</p>
<p>2. Создадим файл PHP, в котором будет скрипт для внесения изменений в базу данных.</p>
<p>3. Сформируем отчет в формате CSV для возможности его скачивания в виде .csv файла.</p>
<p>Вы можете ознакомиться с исходным кодом базы данных на платформе GitHub. GitHub &#8211; это веб-платформа, позволяющая хранить код и другие программные проекты, а также совместно работать над ними и делиться ими между разработчиками. Это отличное место для публикации ваших веб-проектов. Код доступен по ссылке http://host1837693.hostland.pro/. Для работы с базой данных вам не потребуется устанавливать что-либо на свой компьютер, нужен только стандартный браузер и доступ в Интернет. Компьютер может быть подключен к Интернету в любом месте.</p>
<p>Создание баз данных является полезным для обучения и достижения образовательных целей, поскольку позволяет решать задачи с использованием информационных систем, углублять знания и поддерживать самостоятельное изучение языков программирования. Это помогает ученикам развивать навыки в области анализа данных, проектирования систем, работы с информацией и повышения эффективности работы. Базы данных являются фундаментальным инструментом в современном ИТ-мире и их использование открывает двери к различным карьерным возможностям.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2023/11/100997/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка веб-форм</title>
		<link>https://web.snauka.ru/issues/2024/01/101430</link>
		<comments>https://web.snauka.ru/issues/2024/01/101430#comments</comments>
		<pubDate>Wed, 31 Jan 2024 06:42:45 +0000</pubDate>
		<dc:creator>Салихов Салават Зульфатович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[POST]]></category>
		<category><![CDATA[запросы]]></category>
		<category><![CDATA[создание опросов]]></category>
		<category><![CDATA[форма]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/01/101430</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал 1. Использование кода для создания формы: Я продемонстрирую использование разных типов ввода и вывода данных используемых в опросах. 2. Пример кода на html, css: Я предоставлю пример кода на html, css, php который можно использовать для создания сайта с формой. №1 Создание формы. Тег &#60;form&#62; используется для создания [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: center;">
<div style="display: inline !important;"><span><span style="times new roman; background-color: white;"><strong>1. Использование </strong></span><span style="background-color: white;"><strong>кода для создания формы:</strong> Я продемонстрирую использование разных типов ввода и вывода данных используемых в опросах.</span><br />
2<span style="times new roman; background-color: white;">. <strong>Пример кода на </strong></span><span style="background-color: white;"><strong>html, css:</strong> Я предоставлю пример кода на html, css, php который можно использовать для создания сайта с формой.</span></span></div>
<p style="text-align: justify;"><strong>№1 Создание формы.<br />
</strong></p>
<p style="text-align: justify;">Тег &lt;form&gt; используется для создания HTML-формы. В нём находится всё содержимое формы: поля для ввода, подписи к этим полям и кнопка отправки.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_1.png" alt="" /></p>
<p>Здесь action определяет URL, куда будут отправлены данные формы, а method указывает метод отправки данных: GET или POST. Если использовать метод GET, параметры формы будут отображаться в адресной строке браузера. Это небезопасно, так как данные формы можно легко изменить.</p>
<p><strong>№2 Выбор пунктов.<br />
</strong></p>
<p>Атрибут type тега &lt;input&gt; со значением radio обычно используется для создания группы радиокнопок (переключателей), описывающих набор взаимосвязанных параметров.</p>
<p>Одновременно пользователь может выбрать лишь одну радиокнопку из предложенных. Радиокнопки обычно отображаются как небольшие кружки, которые заполняются или подсвечиваются, когда выбраны.</p>
<p style="text-align: justify;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_2.png" alt="" /></p>
<p>Элементы &lt;input&gt; типа checkbox по умолчанию отображаются как флажки, которые отмечаются (отмечены) при активации. Флажок позволяет выбрать отдельные значения для отправки в форму.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_3.png" alt="" /></p>
<p>Обязательно связывайте &lt;label&gt; с чекбоксами и радиокнопками. Это небольшие элементы интерфейса, в которые довольно сложно попасть курсором мыши или пальцем на мобильных устройствах. Если у них есть связанный &lt;label&gt;, то пользователь может кликать по тексту подписи, а не целиться в сам чекбокс.</p>
<p><strong>№3 Выпадающий список.<br />
</strong></p>
<p>Тег &lt;option&gt; в HTML используется для выбора опции из раскрывающегося меню, создаваемого с помощью контейнера &lt;select&gt;. Ширина списка определяется самым широким текстом, указанным в теге &lt;option&gt;, а также может изменяться с помощью стилей.<br />
Группу опций можно создать с помощью тега &lt;optgroup&gt;. Он создает группу связанных пунктов меню.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_4.png" alt="" /></p>
<p><strong>№4 Текстовые поля.<br />
</strong></p>
<p>HTML-элемент &lt;textarea&gt; представляет собой многострочный элемент управления для редактирования обычного текста, который полезен, если вы хотите, чтобы пользователи могли вводить значительный объем текста в произвольной форме.</p>
<p>Параметр rows регулирует высоту, а параметр cols &#8211; длину</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_5.png" alt="" /></p>
<p style="text-align: justify;"><strong>№6 Кнопка отправки.<br />
</strong></p>
<p>submit — кнопка для отправки формы. Обычно ставится в конце формы. Хотя на практике часто используют &lt;button type=&#8221;submit&#8221;&gt;, так как кнопку проще стилизовать. &lt;input type=&#8221;submit&#8221; value=&#8221;Отправить&#8221;&gt;.</p>
<p style="text-align: justify;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_6.png" alt="" /><strong><br />
</strong></p>
<p style="text-align: justify;"><strong>№6 Переход в среду php.<br />
</strong></p>
<p>Даже если PHP код помещён в файл с расширением .php, то для того, чтобы он обрабатывался интерпретатором именно как PHP код, он должен быть размещён после тэга: &lt;?php</p>
<p>Закрывающий тег пишется так: ?&gt;</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_7.png" alt="" /></p>
<p>Закрывающий тег не является обязательным. Тем не менее, закрывающий тег может использоваться когда заканчивается PHP код и начинается, например, HTML код.</p>
<p>Пары &lt;?php и ?&gt; могут использоваться в одном файле несколько раз, отделяя PHP код от HTML кода.</p>
<p>Важная вещь, которую нужно знать про закрывающий тег ?&gt;: он выбросит вас из PHP в HTML даже если он закомментирован с помощью //. Однако комментарий /* */ справляется — тег ?&gt; теряет своё специальное значение. Помните об этой интересной особенности, поскольку при комментировании блоков кода, вы можете столкнуться с необычной ситуацией, когда ?&gt; продолжит работу не смотря на то, что вы этого не ожидаете.</p>
<p><strong>№7 Вывод переменных в среде php.<br />
</strong></p>
<p>Команда echo отвечает за вывод информации на экран. После оператора указывается значение, которое нужно вывести. Чтобы вывести текст, его нужно указать в одинарных или двойных кавычках.</p>
<p>Команды в PHP разделяются точкой с запятой. Для удобства чтения каждую команду принято писать с новой строки.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_8.png" alt="" /></p>
<p>Для обработки запросов типа POST в PHP используется встроенная глобальная переменная $_POST. Она представляет ассоциативный массив данных, переданных с помощью метода POST. Используя ключи, мы можем получить отправленные значения. Ключами в этом массиве являются значения атрибутов name у полей ввода формы.</p>
<p>При выводе не только одной переменной, используется знак « . ». Также это касается постоянных в одной строке с  $_POST.</p>
<p>Для вывода переменной при помощи POST, она должна быть записана в квадратных скобках.</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_9.png" alt="" /></p>
<p><strong>Итог работы<br />
</strong></p>
<p>&nbsp;</p>
<p><span style="background-color: white;">Комбинируя все вышеуказанные способы ввода и вывода, получается следующее:</span></p>
<p align="left">&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243;&gt;</p>
<p align="left">&lt;body bgcolor=&#8221;#C4C4C4&#8243;&gt;</p>
<p align="left">&lt;h1 style=&#8221;text-align: center;&#8221;&gt;Форма Салихова Салавата&lt;/h1&gt;</p>
<p align="left">&lt;hr&gt;&lt;form action=&#8221;index.php&#8221; method=&#8221;POST&#8221;&gt;</p>
<p align="left">&lt;p&gt;Вы любите животных?&lt;/p&gt;</p>
<p align="left">&lt;label&gt;&lt;input name=&#8221;kapch&#8221; value=&#8221;Вы любите животных?: Да&#8221; id=&#8221;kapch1&#8243; type=&#8221;radio&#8221;&gt;Да&lt;/label&gt;</p>
<p align="left">&lt;Br&gt;&lt;label&gt;&lt;input name=&#8221;kapch&#8221; value=&#8221;Вы любите животных?: Нет&#8221; id=&#8221;kapch&#8221; type=&#8221;radio&#8221;&gt; Нет&lt;/label&gt;</p>
<p align="left">&lt;p&gt;С кем Вы предпочитаете проводить свободное время?&lt;/p&gt;</p>
<p align="left">&lt;label&gt;&lt;input type=&#8221;checkbox&#8221; name=&#8221;kapcha1&#8243; value=&#8221;С семьей &#8220;&gt; С семьей&lt;/label&gt;</p>
<p align="left">&lt;Br&gt;&lt;label&gt;&lt;input type=&#8221;checkbox&#8221; name=&#8221;kapcha2&#8243; value=&#8221;С друзьями &#8220;&gt; С друзьями&lt;/label&gt;</p>
<p align="left">&lt;Br&gt;&lt;label&gt;&lt;input type=&#8221;checkbox&#8221; name=&#8221;kapcha3&#8243; value=&#8221;Предпочитаю быть один &#8220;&gt; Предпочитаю быть один &lt;/label&gt;</p>
<p align="left">&lt;p&gt;Где Вы предпочитаете проводить свободное время?&lt;/p&gt;</p>
<p align="left">&lt;select name=&#8221;kiti&#8221;&gt;</p>
<p align="left">&lt;option selected disabled value=&#8221;"&gt;выберите место&lt;/option&gt;</p>
<p align="left">&lt;option value=&#8221;Где Вы предпочитаете проводить свободное время?: Дома&#8221;&gt; Дома&lt;/option&gt;</p>
<p align="left">&lt;option value=&#8221;Где Вы предпочитаете проводить свободное время?: В гостях&#8221;&gt;В гостях&lt;/option&gt;</p>
<p align="left">&lt;option value=&#8221;Где Вы предпочитаете проводить свободное время?: Гуляю на улице&#8221;&gt;Гуляю на улице&lt;/option&gt;</p>
<p align="left">&lt;/select&gt;</p>
<p align="left">&lt;p&gt;Сколько иностранных языков вы знаете&lt;/p&gt;</p>
<p align="left">&lt;textarea rows=&#8221;2&#8243; cols=&#8221;23&#8243; name =&#8221;animals&#8221;&gt;&lt;/textarea&gt;</p>
<p align="left">&lt;p&gt;Есть ли у Вас свободное время, если Да, то сколько? (часов в день)&lt;/p&gt;</p>
<p align="left">&lt;textarea rows=&#8221;2&#8243; cols=&#8221;23&#8243; name=&#8221;skrud&#8221;&gt;&lt;/textarea&gt;&lt;Br&gt;</p>
<p align="left">&lt;p&gt; Расскажите о себе &lt;/p&gt;</p>
<p align="left">&lt;textarea rows=&#8221;20&#8243; cols=&#8221;140&#8243; name =&#8221;pole&#8221;&gt;&lt;/textarea&gt;</p>
<p align="left">&lt;Br&gt;&lt;input value=&#8221;Отправить&#8221; type=&#8221;submit&#8221;&gt;&lt;/Br&gt;</p>
<p align="left">&lt;/form&gt;&lt;/body&gt;</p>
<p align="left">&lt;?php echo &#8220;&lt;p&gt;Ваши ответы: &lt;/p&gt;&#8221;;</p>
<p align="left">echo &#8220;&lt;p&gt;&#8221; . $_POST["kapch"];</p>
<p align="left">if ( $_POST["kapcha1"] == &#8216;С семьей &#8216; and $_POST["kapcha2"] !== &#8216;С друзьями &#8216; and $_POST["kapcha3"] !== &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha1"];}</p>
<p align="left">if ( $_POST["kapcha1"] !== &#8216;С семьей &#8216; and $_POST["kapcha2"] == &#8216;С друзьями &#8216; and $_POST["kapcha3"] !== &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha2"];}</p>
<p align="left">if ( $_POST["kapcha1"] !== &#8216;С семьей &#8216; and $_POST["kapcha2"] !== &#8216;С друзьями &#8216; and $_POST["kapcha3"] == &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha3"];}</p>
<p align="left">if ( $_POST["kapcha1"] == &#8216;С семьей &#8216; and $_POST["kapcha2"] == &#8216;С друзьями &#8216; and $_POST["kapcha3"] !== &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha1"]. &#8221; , &#8220;.$_POST["kapcha2"];}</p>
<p align="left">if ( $_POST["kapcha1"] == &#8216;С семьей &#8216; and $_POST["kapcha2"] !== &#8216;С друзьями &#8216; and $_POST["kapcha3"] == &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha1"]. &#8221; , &#8221; .$_POST["kapcha3"];}</p>
<p align="left">if ( $_POST["kapcha1"] !== &#8216;С семьей &#8216; and $_POST["kapcha2"] == &#8216;С друзьями &#8216; and $_POST["kapcha3"] == &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha2"]. &#8221; , &#8221; .$_POST["kapcha3"];}</p>
<p align="left">if ( $_POST["kapcha1"] == &#8216;С семьей &#8216; and $_POST["kapcha2"] == &#8216;С друзьями &#8216; and $_POST["kapcha3"] == &#8216;Предпочитаю быть один &#8216;) {</p>
<p align="left">echo &#8220;&lt;p&gt;С кем Вы предпочитаете проводить свободное время?:&#8221; .$_POST["kapcha1"]. &#8221; , &#8221; .$_POST["kapcha2"]. &#8221; , &#8221; .$_POST["kapcha3"];}</p>
<p align="left">echo &#8220;&lt;p&gt;&#8221; . $_POST["kiti"];</p>
<p align="left">if ( $_POST["animals"] !== &#8221;) {</p>
<p align="left">echo &#8220;&lt;p&gt;Сколько иностранных языков вы знаете:&#8221; .$_POST["animals"];}</p>
<p align="left">echo &#8220;&lt;p&gt;&#8221; .$_POST["vid"];</p>
<p align="left">echo  &#8220;&lt;p&gt;&#8221; .$_POST["kolvo"];</p>
<p align="left">if ( $_POST["skrud"] !== &#8221;) {</p>
<p align="left">echo  &#8220;&lt;p&gt;Есть ли у Вас свободное время, если Да, то сколько? (часов в день):&#8221; .$_POST["skrud"];}</p>
<p align="left">if ( $_POST["pole"] !== &#8221;) {</p>
<p align="left">echo  &#8220;&lt;p&gt;Вы рассказали о себе следующее: &#8221; .$_POST["pole"];}?&gt;</p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_10.png" alt="" /><span style="color: black; times new roman; 10pt; background-color: white;"><br />
</span></p>
<p><span style="color: black; times new roman; 10pt; background-color: white;">Используя компилятор, код будет выглядеть так:<br />
</span></p>
<p><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020224_0642_11.png" alt="" /><span style="color: black; times new roman; 10pt; background-color: white;"><br />
</span></p>
<p><span style="color: black; times new roman; 10pt; background-color: white;">В заключение, веб-формы также можно использовать для обратной связи, заявок, оформления заказов, голосования, тестирования, оформления подписки и других областях.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/01/101430/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка сайта для мебельного магазина</title>
		<link>https://web.snauka.ru/issues/2024/06/102331</link>
		<comments>https://web.snauka.ru/issues/2024/06/102331#comments</comments>
		<pubDate>Sun, 30 Jun 2024 12:04:12 +0000</pubDate>
		<dc:creator>Салихова Регина Салаватовна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[поисковая форма]]></category>
		<category><![CDATA[СУБД]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/06/102331</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: center;">
<p style="text-align: justify;"><span>Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке сообщества.<br />
</span></p>
<p style="text-align: justify;"><span><span>При разработке информационной системы, которая функционирует в Web, первым делом необходимо выбрать хостинг. Хостинг сайтов – это онлайн услуга, которая позволяет </span><span>публиковать веб-сайт или веб-приложение в интернете. Когда пользователь подписывается на услугу хостинга, он обычно арендует пространство на сервере, на котором он может хранить</span><span> все файлы и данные, необходимые для правильного функционирования сайта.<br />
</span></span></p>
<p style="text-align: justify;"><span>Сервер – это физический компьютер, который работает без перерывов, чтобы сайт был доступен всё время для тех, кто хочет его посетить. Хостинг отвечает за поддержание работы сервера, защиту его от вредоносных атак и передачу контента (текста, изображений, файлов) с сервера в браузеры посетителей.<br />
</span></p>
<p style="text-align: justify;"><span>В качестве примера был выбран сайт для хостинга <a href="https://www.hostland.ru">https://www.hostland.ru</a>. Для начала необходимо пройти стандартную процедуру регистрации. Данный хостинг-провайдер предоставляет месяц бесплатного пробного периода и различные тарифы (рисунок 1).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 1. Тарифы.<br />
</em></span></p>
<p style="text-align: justify;"><span>Создание пользователя и базы данных проходит на вкладке MySQL. Также необходимо привязать пользователя к ней.<br />
</span></p>
<p style="text-align: justify;"><span>Для дальнейшей работы переходим в phpMyAdmin. PhpMyAdmin – это веб-интерфейс для администрирования системы управления баз данных MySQL. PhpMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных [2].<br />
</span></p>
<p style="text-align: justify;"><span>Для разработки базы данных мебельного магазина сначала необходимо продумать структуру будущей базы данных. Это включает в себя определение таблиц, их полей и связей между ними. Рассмотрим пример структуры базы данных мебельного магазина.<br />
</span></p>
<p style="text-align: justify;"><span>1. Таблица &#8220;furniture&#8221;:<br />
</span></p>
<p style="text-align: justify;"><span>•    furniture_id (INT, PRIMARY KEY): уникальный идентификатор мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    name (VARCHAR(255), NOT NULL): название мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    category_id (INT): идентификатор категории мебели, связанный с таблицей &#8220;furniture_categories&#8221;.<br />
</span></p>
<p style="text-align: justify;"><span>•    material (ENUM(&#8216;Дерево&#8217;, &#8216;Металл&#8217;, &#8216;Пластик&#8217;, &#8216;Стекло&#8217;, &#8216;Другой&#8217;)): материал, из которого изготовлена мебель.<br />
</span></p>
<p style="text-align: justify;"><span>•    manufacturing_date (DATE): дата производства мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    description (TEXT): описание мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    price (INT): цена мебели.<br />
</span></p>
<p style="text-align: justify;"><span>2. Таблица &#8220;furniture_categories&#8221;:<br />
</span></p>
<p style="text-align: justify;"><span>•    category_id (INT, PRIMARY KEY): уникальный идентификатор категории мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    category_name (VARCHAR(255), NOT NULL): название категории мебели.<br />
</span></p>
<p style="text-align: justify;"><span>•    parent_category_id (INT): идентификатор родительской категории мебели (если применимо).<br />
</span></p>
<p style="text-align: justify;"><span>Следующим шагом будет переход в базу данных и создание необходимых таблиц. Важным моментом является то, что первое поле должно быть ключевым и автоинкрементным (рисунок 2).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 2. Создание таблицы.<br />
</em></span></p>
<p style="text-align: justify;"><span>Для заполнения таблиц данными нужно перейти на вкладку «Вставить» (рисунок 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 3. Заполнение таблицы данными.<br />
</em></span></p>
<p style="text-align: justify;"><span>Далее создаем скрипт для подключения к базе данных из веб-приложения. Для работы с базой данных потребуется веб-интерфейс с разграничением доступа. Подойдет простейшее веб-приложение.<br />
</span></p>
<p style="text-align: justify;"><span>Переходим на сайт Hostland, далее заходим в файловый менеджер. Переходим в папку с именем пользователя/htdocs/www/connection. Для создания простейшего веб-приложения в папке connection необходимо создать файл data.php для подключения к базе данных, где будет объект data класса PDO (рисунок 4). PDO (PHP Data Objects) — это расширение для работы с базами данных в PHP. Основное преимущество использования PDO заключается в том, что оно позволяет писать код, который будет работать с разными базами данных без необходимости вносить изменения в сам код. Это особенно полезно, если вы планируете миграцию с одной системы управления базами(СУБД) данных на другую или хотите поддерживать несколько СУБД одновременно.<br />
</span></p>
<p><img class="aligncenter" src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_4.png" alt="" /></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 4. Код для подключения к базе данных.<br />
</em></span></p>
<p style="text-align: justify;"><span>Также для первичного вывода данных необходимо создать файл index.php в папке www. В этом файле мы подключаем файл data.php с помощью include_once и выводим данные таблицы на экран (рисунок 5).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 5. Код для вывода таблицы на экран.<br />
</em></span></p>
<p style="text-align: justify;"><span>Для создания формы поиска потребуется создание нового файла index2.php (рисунок 6). В нем добавляется предложение WHERE, которое указывает, что оператор SQL Data Manipulation Language (DML) должен затрагивать только строки, соответствующие указанным критериям [3].<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1204_6.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 6. Код для создания формы поиска по столбцу name.<br />
</em></span></p>
<p style="text-align: justify;"><span>Создание поисковой формы на сайте мебельного магазина сделает использование сайта более удобным и эффективным. Форма поиска позволит посетителям легко найти нужные товары, что улучшит их взаимодействие с сайтом.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/06/102331/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка формы и скрипта добавления данных веб-приложения</title>
		<link>https://web.snauka.ru/issues/2024/07/102299</link>
		<comments>https://web.snauka.ru/issues/2024/07/102299#comments</comments>
		<pubDate>Sun, 30 Jun 2024 21:10:22 +0000</pubDate>
		<dc:creator>Артыков Ильнур Кимсанович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[базы данных]]></category>
		<category><![CDATA[запросы]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/07/102299</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em><span>к.ф.-м.н., </span></em><em><span>Уфимский университет науки и технологий, Нефтекамский филиал<br />
</span></em></p>
<p style="text-align: justify;"><span>Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке сообщества.<br />
</span></p>
<p><span>Для того, чтобы и на вашем сайте была форма заполнения таблицы базы данных рассмотрим данный пример на хостинге с использованием phpMyAdmin.<br />
</span></p>
<p style="text-align: justify;"><span>В первую очередь создаем таблицу для учета программного оснащения организации software_info. Она имеет следующую структуру:<br />
</span></p>
<p style="text-align: justify;"><span>•    id (INT, PRIMARY KEY): Уникальный идентификатор программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    name (VARCHAR(255)): Название программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    version (INT): Версия программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    status (ENUM(&#8216;Активно&#8217;, &#8216;Неактивно&#8217;, &#8216;Устарело&#8217;)): Статус программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    release_date (DATE): Дата выпуска программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    description (TEXT): Описание программного обеспечения.<br />
</span></p>
<p style="text-align: justify;"><span>•    organization_id (INT, FOREIGN KEY): Связь с таблицей организации через идентификатор организации.<br />
</span></p>
<p style="text-align: justify;"><span>Эта таблица создается в phpMyAdmin. PhpMyAdmin – это веб-интерфейс для администрирования системы управления баз данных MySQL. PhpMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных [2].<br />
</span></p>
<p style="text-align: justify;"><span>Далее перейдем к написанию скрипта добавления и создадим файл dobavlenie.php.<br />
</span></p>
<p style="text-align: justify;"><span>При помощи include_once подключаем базу данных (рисунок 1). В connection/data.php хранятся данные о названии и пользователе таблицы базы данных.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1053_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 1. Подключение файла добавления данных к проекту<br />
</em></span></p>
<p><span>Создадим HTML-форму для ввода данных, которая отправляет данные на скрипт &#8220;dobavlenie.php&#8221; методом POST (рисунок 2).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1053_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 2. Код формы добавления<br />
</em></span></p>
<p style="text-align: justify;"><span>Сама форма имеет следующий вид (рисунок 3):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1053_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 3. Форма добавления<br />
</em></span></p>
<p style="text-align: justify;"><span>Используя PHP, мы создаем новый экземпляр объекта класса «data» и скрипт, который реагирует на нажатие кнопки «Добавить». Скрипт начинает с проверки наличия POST-запроса с данными формы.<br />
</span></p>
<p style="text-align: justify;"><span>Если данные получены, выполняется запрос INSERT для добавления данных в таблицу «software_info» [3]. Данные из POST-запроса собираются в массив и передаются для выполнения запроса.<br />
</span></p>
<p style="text-align: justify;"><span>После этого выводится сообщение об успешном добавлении данных в базу данных или сообщение об ошибке, если запрос не удалось выполнить (рисунок 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1053_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span style="color: black;"><em>Рисунок 4. Скрипт добавления<br />
</em></span></p>
<p style="text-align: justify;"><span>В конце работы получаем форму, заполняющую таблицу базы данных программного оснащения организации.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/07/102299/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка авторизации на сайте</title>
		<link>https://web.snauka.ru/issues/2024/07/102305</link>
		<comments>https://web.snauka.ru/issues/2024/07/102305#comments</comments>
		<pubDate>Tue, 02 Jul 2024 11:11:55 +0000</pubDate>
		<dc:creator>Гриневский Денис Станиславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[разработка веб-страницы]]></category>
		<category><![CDATA[форма регистрации и авторизации]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/07/102305</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал &#160; Для начала работы необходимо зарегистрировать аккаунт на hostland.ru, для этого переходим на сайт и нажимаем кнопку «Вход», а затем зарегистрироваться. Выбираем нужный тариф, при регистрации первый месяц будет бесплатным, однако нужно подтвердить аккаунт (рисунок 1): Рисунок 1. Авторизация на сайте hostland.ru Теперь нам [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em><span>к.ф.-м.н., </span></em><em><span>Уфимский университет науки и технологий, Нефтекамский филиал</span></em></p>
<p>&nbsp;</p>
<p style="text-align: justify;"><span>Для начала работы необходимо зарегистрировать аккаунт на hostland.ru, для этого переходим на сайт и нажимаем кнопку «Вход», а затем зарегистрироваться. Выбираем нужный тариф, при регистрации первый месяц будет бесплатным, однако нужно подтвердить аккаунт (рисунок 1):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 1. Авторизация на сайте hostland.ru<br />
</em></span></p>
<p style="text-align: justify;"><span>Теперь нам необходимо создать пользователя и саму базу данных. Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке сообщества.<br />
</span></p>
<p style="text-align: justify;"><span>Сначала перейдите на вкладку MySQL -&gt; Пользователи MySQL. Создайте нового пользователя, например, host1872291_1, и придумайте для него пароль, к примеру 12345 (рисунок 2):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_2.png" alt="" /></p>
<p style="text-align: center;"><span><em>Рисунок 2. MySQL<br />
</em></span></p>
<p><span>Далее переходим во вкладку базы данных MySQL. Создаем базу данных, для удобства с такими же данными, как и пользователь. И прикрепляем созданного нами пользователя (рисунок 3):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_3.png" alt="" /><span><em>Рисунок 3. Добавление базы данных</em><br />
</span></p>
<p style="text-align: justify;"><span>Затем переходим во вкладку phpMyAdmin. PhpMyAdmin это веб-интерфейс для управления СУБД [2]. Выбираем нашу базу данных и создаём нужные нам таблицы (рисунок 4):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 4. Создание таблицы<br />
</em></span></p>
<p style="text-align: justify;"><span>Не забудьте сделать первое поле ключевым и автоинкрементным. Если вы упустили этот момент, не переживайте — вы можете внести изменения позже, зайдя в структуру таблицы. Используйте различные типы данных. Например, для хранения пола используйте тип enum, который позволяет обозначить фиксированный набор значений, в данном случае два. Для коротких строк, таких как имена и фамилии, применяйте тип varchar(25), где числовое значение в скобках указывает максимальную длину строки. Помните, что строки, превышающие 25 символов, будут обрезаны при сохранении в базу данных.<br />
</span></p>
<p><span>Нажимаем Новая назовем таблицу login для сохранения данных пользователей при регистрации, вводим столбцы как на примере, задаем тип text (рисунок 5):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 5. Таблица login<br />
</em></span></p>
<p style="text-align: justify;"><span>Используйте различные типы данных. Например, для хранения пола используйте тип enum, который позволяет обозначить фиксированный набор значений. Для коротких строк, таких как имена и фамилии, применяйте тип varchar(25), где числовое значение в скобках указывает максимальную длину строки [3]. Помните, что строки, превышающие 25 символов, будут обрезаны при сохранении в базу данных.<br />
</span></p>
<p style="text-align: justify;"><span>Переходим в файловый менеджер и создаём папку connection в которой создаем data.php он нам нужен для подключения к таблице. В нем мы создаем объект data класса PDO. Указываем имя БД, пользователя и пароль (рисунок 6):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_6.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 6. Код для файла data.php<br />
</em></span></p>
<p><span>Теперь этот файл больше не меняется и будет использоваться на всех страницах, где нужен вывод данных. Далее создаем index.php. Именно с него начинается наш сайт. Поэтому в нём мы сделаем нашу авторизацию.<br />
</span></p>
<p><span>Подключаем к нашей БД и пишем следующий код для проверки наличия пользователя в БД(рисунок 7) и кнопку регистрации для того случая, если пользователь новый. В итоге получаем(рисунок 8):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_7.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 7. Код для Авторизации<br />
</em></span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_8.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 8. Пример оформления поля авторизации<br />
</em></span></p>
<p><span>Затем создадим файл reg.php, именно в нём мы будем записывать новых пользователей в БД, пишем код (рисунок 9) и получаем (рисунок 10):<br />
</span></p>
<p style="text-align: center;"><span>.<img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_9.png" alt="" /><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 9. Код для регистрации<br />
</em></span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_10.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 10. Пример оформления поля авторизации<br />
</em></span></p>
<p><span>После всего что мы проделали, нам осталось сделать главное меню в которой мы и увидим нашу таблицу minerals_info. Для этого создадим файл main.php и напишем в нём следующий код (рисунок 11):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_11.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 11. Код для вывода таблицы</em>.<br />
</span></p>
<p style="text-align: justify;"><span>Таким образом, в случае того если пользователь не зарегистрирован, но попадёт на данную страницу, он не увидит нашу таблицу (рисунок 12), а увидит лишь строчку &#8220;Эта страница только для авторизованных пользователей!&#8221;.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1106_12.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Р<em>исунок 12. Пример вывода таблицы.</em></span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/07/102305/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка базы данных магазина детских товаров</title>
		<link>https://web.snauka.ru/issues/2024/07/102319</link>
		<comments>https://web.snauka.ru/issues/2024/07/102319#comments</comments>
		<pubDate>Tue, 02 Jul 2024 11:31:01 +0000</pubDate>
		<dc:creator>Ишпулатова Александра Юрьевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[разработка веб-страницы]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/07/102319</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Разработка веб-страниц с базами данных &#8211; это важный этап создания любого сайта. Благодаря базам данных сайт становится более динамичным и интерактивным для пользователей. На платформе hostland.ru вы можете легко создать веб-страницу с базой данных, используя различные инструменты и сервисы. Одним из основных инструментов для [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em style="text-align: center;"><span>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</span></em><em>к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: justify;"><span>Разработка веб-страниц с базами данных &#8211; это важный этап создания любого сайта. Благодаря базам данных сайт становится более динамичным и интерактивным для пользователей. На платформе hostland.ru вы можете легко создать веб-страницу с базой данных, используя различные инструменты и сервисы.<br />
</span></p>
<p style="text-align: justify;"><span>Одним из основных инструментов для работы с базами данных на сайте hostland.ru является MySQL. MySQL &#8211; это мощная система управления реляционными базами данных, которая позволяет создавать и управлять базами данных для вашего сайта. С помощью MySQL вы можете хранить информацию о пользователях, товарах, заказах и многом другом.<br />
</span></p>
<p style="text-align: justify;"><span>Информационные системы, использующие MySQL, остаются востребованными и широко применяются в современной веб-разработке [1]. MySQL предлагает надежное и масштабируемое решение для хранения данных, что делает его популярным среди разработчиков. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, выбирают MySQL из-за его высокой производительности, надежности и поддержки со стороны сообщества разработчиков.<br />
</span></p>
<p style="text-align: justify;"><span>Для разработки веб-страниц с базами данных на сайте hostland.ru вы можете использовать различные языки программирования, такие как PHP, Python, Ruby и другие. Эти языки позволяют создавать динамические веб-страницы, взаимодействующие с базой данных и отображающие пользователю актуальную информацию.<br />
</span></p>
<p style="text-align: justify;"><span>Для того чтобы создать базу данных, первым делом нужно зарегистрироваться на хостинге. Хостинг – это услуга, предоставляющая возможность размещать ваш веб-сайт или веб-приложение в интернете. Подписываясь на эту услугу, вы арендуете место на сервере для хранения всех файлов и данных, необходимых для корректной работы вашего сайта.<br />
</span></p>
<p><span>Следом, нам нужно создать пользователя и саму базу данных. Сначала перейдите на вкладку MySQL. Создайте нового пользователя, например, host1872316, и придумайте для него пароль (рисунок 1).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1<br />
</span></p>
<p><span>Создаем базу данных и прикрепляем пользователя (рисунок 2):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 2.<br />
</span></p>
<p style="text-align: justify;"><span>Затем нажмите кнопку открыть → phpMyAdmin. PhpMyAdmin представляет собой веб-интерфейс для управления СУБД MySQL. Он позволяет выполнять администрирование сервера MySQL, запускать SQL-команды и просматривать содержимое таблиц и баз данных через браузер [2]. Перейдите к своей базе данных и создайте нужные таблицы (рисунок 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3<br />
</span></p>
<p style="text-align: justify;"><span>Для разработки базы данных каталога мужской одежды, сначала необходимо продумать структуру будущей базы данных. Это включает в себя определение таблиц, их полей и связей между ними. Рассмотрим пример структуры базы данных магазина детских товаров.<br />
</span></p>
<p><span>Таблица &#8220;products&#8221; (Товары):<br />
</span></p>
<p><span>•    product_id (INT): Уникальный идентификатор товара.<br />
</span></p>
<p><span>•    product_name (VARCHAR(100)): Название товара.<br />
</span></p>
<p><span>•    category_id (INT): Ссылка на таблицу &#8220;categories&#8221;, указывающая категорию товара.<br />
</span></p>
<p><span>•    age_group (ENUM(&#8217;0-2&#8242;, &#8217;3-5&#8242;, &#8217;6-8&#8242;, &#8217;9-12&#8242;)): Возрастная группа, для которой предназначен товар.<br />
</span></p>
<p><span>•    release_date (DATE): Дата выпуска товара.<br />
</span></p>
<p><span>•    description (TEXT): Описание товара.<br />
</span></p>
<p><span>•    cost (INT): Цена товара.<br />
</span></p>
<p><span>Таблица &#8220;categories&#8221; (Категории):<br />
</span></p>
<p><span>•    category_id (INT): Уникальный идентификатор категории.<br />
</span></p>
<p><span>•    category_name (VARCHAR(100)): Название категории.<br />
</span></p>
<p><span>•    category_description (TEXT): Описание категории.<br />
</span></p>
<p><span>Не забудьте сделать первое поле ключевым и автоинкрементным. Если вы упустили этот момент, не переживайте — вы можете внести изменения позже, зайдя в структуру таблицы (рисунок 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4<br />
</span></p>
<p><span>Заполним таблицу данными (рисунок 5).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 5<br />
</span></p>
<p style="text-align: justify;"><span>Поле с ключом и автоинкрементом заполнять не требуется. Можно добавлять данные по два набора за раз. Заполните нужные поля и нажмите «Вперед».<br />
</span></p>
<p style="text-align: justify;"><span>Используйте различные типы данных. Например, для хранения пола используйте тип enum, который позволяет обозначить фиксированный набор значений, в данном случае два. Для коротких строк, таких как имена и фамилии, применяйте тип varchar(25), где числовое значение в скобках указывает максимальную длину строки [3]. Помните, что строки, превышающие 25 символов, будут обрезаны при сохранении в базу данных (рисунок 6).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_6.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 6<br />
</span></p>
<p><span>Для работы с базой данных, конечно, одного PhpMyAdmin недостаточно. Нужен удобный веб-интерфейс с разграничением доступа. Создадим для начала простейшее веб-приложение.<br />
</span></p>
<p><span>В папке connection создадим файл data.php для подключения к нашей БД. В нем мы создаем объект data класса PDO. Указываем имя БД, пользователя и пароль (рисунок 7):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_7.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 7<br />
</span></p>
<p><span>Теперь этот файл больше не меняется и будет использоваться на всех страницах, где нужен вывод данных.<br />
</span></p>
<p style="text-align: justify;"><span>Создадим в папке www файл index.php для первичного вывода данных (рисунок 8, 9).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_8.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 8<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_9.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 9<br />
</span></p>
<p><span>Таким образом будет выглядеть наша таблица на сайте (рисунок 10).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1118_10.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 10<br />
</span></p>
<p style="text-align: justify;"><span>Одним из осуществленных преимуществ работы с базами данных на сайте hostland.ru является простота управления данными. Вы можете легко добавлять, изменять и удалять записи в базе данных, не имея специальных навыков программирования. Благодаря интуитивному интерфейсу и шаблонам, предоставленным на платформе hostland.ru, вы сможете легко настроить свою базу данных и веб-страницы под ваши потребности.<br />
</span></p>
<p style="text-align: justify;"><span>Кроме того, разработка веб-страниц с базами данных на сайте hostland.ru обеспечивает высокую производительность и безопасность вашего сайта. Серверы hostland.ru обеспечивают быстрый доступ к базам данных и защищают данные пользователей с помощью современных методов шифрования и защиты.<br />
</span></p>
<p style="text-align: justify;"><span>Таким образом, разработка веб-страниц с базами данных на сайте hostland.ru – это удобный и эффективный способ создания динамичного и интерактивного сайта. С помощью инструментов и сервисов, предоставленных на платформе hostland.ru, вы сможете легко создать и управлять базами данных, делая ваш сайт более привлекательным для пользователей.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/07/102319/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Регистрация пользователей на сайте</title>
		<link>https://web.snauka.ru/issues/2024/07/102332</link>
		<comments>https://web.snauka.ru/issues/2024/07/102332#comments</comments>
		<pubDate>Tue, 02 Jul 2024 14:54:01 +0000</pubDate>
		<dc:creator>Салихова Регина Салаватовна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[СУБД]]></category>
		<category><![CDATA[форма регистрации]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/07/102332</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Нередко на сайте встречается кнопка регистрации пользователя. Для того, чтобы и на нашем сайте была подобная функция, создадим файл на PHP. PHP – это скриптовый язык программирования с открытым исходным кодом. Изначально он создавался для разработки веб-приложений, но в процессе обновлений стал языком общего [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: right; background: white;">
<p style="text-align: justify;"><span>Нередко на сайте встречается кнопка регистрации пользователя. Для того, чтобы и на нашем сайте была подобная функция, создадим файл на PHP.<br />
</span></p>
<p style="text-align: justify;"><span>PHP – это скриптовый язык программирования с открытым исходным кодом. Изначально он создавался для разработки веб-приложений, но в процессе обновлений стал языком общего назначения.<br />
</span></p>
<p style="text-align: justify;"><span>Информационные системы, работающие с MySQL по-прежнему актуальны и широко используются. MySQL предоставляет надежное и масштабируемое решение для хранения данных, что делает его популярным выбором для веб-разработчиков [1]. Многие современные веб-приложения, включая интернет-магазины и корпоративные системы, продолжают использовать MySQL благодаря его производительности, безопасности и поддержке сообщества.<br />
</span></p>
<p style="text-align: justify;"><span>Данный пример будет рассматриваться на хостинге Hostland с использованием phpMyAdmin. PhpMyAdmin — это специальная утилита, написанная на PHP, которая реализует графический интерфейс для управления базами данных MySQL через браузер [2].<br />
</span></p>
<p style="text-align: justify;"><span>На главной странице уже существующего сайта добавляем кнопку «Регистрация» и создаем файл reg.php.<br />
</span></p>
<p style="text-align: justify;"><span>Подключаем нашу таблицу к данному файлу с помощью include_once (рисунок 1).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_1.png" alt="" /></p>
<p style="text-align: center;"><span><em>Рисунок 1. Подключение таблицы к файлу.</em><br />
</span></p>
<p style="text-align: justify;"><span>Для запроса будем использовать метод POST. Метод POST в PHP передаёт информацию через HTTP-заголовки [3]. Создаем два поля с подписями «Имя пользователя» и «Пароль» (рисунок 2).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 2. Создание полей регистрации.<br />
</em></span></p>
<p style="text-align: justify;"><span>Также создадим дополнительный вопрос с выпадающим списком. Например, любимое домашнее животное (рисунок 3).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 3. Создание вопроса с выпадающим списком.<br />
</em></span></p>
<p style="text-align: justify;"><span>Далее необходимо создать кнопку «Зарегистрироваться» и перейти в phpMyAdmin. Создаем таблицу login, куда и будут записываться данные (рисунок 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 4. Таблица для записи зарегистрированных пользователей.<br />
</em></span></p>
<p style="text-align: justify;"><span>Также добавим проверку. В случае, если пользователь с данным именем уже существует в таблице, на экран будет выводиться надпись «такой пользователь уже есть» (рисунки 5,6).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 5. Код для проверки.<br />
</em></span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_6.png" alt="" /><span><em><br />
</em></span></p>
<p style="text-align: center;"><span><em>Рисунок 6. Пример работы кода для проверки.<br />
</em></span></p>
<p style="text-align: justify;"><span>Если же пользователя с введенным именем не будет в таблице, данные сохранятся в login и пользователь будет перенаправлен на главную страницу (рисунок 7).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_7.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 7. Код для сохранения данных в таблице.<br />
</em></span></p>
<p style="text-align: justify;"><span>Все зарегистрированные пользователи будут видны в phpMyAdmin в таблице login (рисунок 8).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/07/070224_1422_8.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 8. Таблица с зарегистрированными пользователями.<br />
</em></span></p>
<p style="text-align: justify;"><span>Авторизацию и регистрацию на сайтах можно использовать для защиты конфиденциальности пользователей, создания профилей пользователей, управления доступом к функциям и контенту, улучшения пользовательского опыта, анализа данных и т.п.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/07/102332/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка базы данных музыкальных инструментов</title>
		<link>https://web.snauka.ru/issues/2024/10/102717</link>
		<comments>https://web.snauka.ru/issues/2024/10/102717#comments</comments>
		<pubDate>Thu, 24 Oct 2024 14:46:27 +0000</pubDate>
		<dc:creator>Сагдатов Тимур Альбертович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[каталог музыкальных инструментов]]></category>
		<category><![CDATA[создание веб-страницы]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=102717</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович Уфимский университет науки и технологий, Нефтекамский филиал к.ф.-м.н. &#160; Введение В современном мире эффективное управление данными является неотъемлемой частью успешного ведения бизнеса. Магазины музыкальных инструментов, как и другие коммерческие предприятия, нуждаются в надёжных и удобных системах для хранения и обработки информации о товарах, категориях, ценах и клиентах. Разработка базы данных играет [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right">Научный руководитель: <em>Вильданов Алмаз Нафкатович<br />
<em>Уфимский университет науки и технологий, Нефтекамский филиал<br />
</em></em><em>к.ф.-м.н.</em></p>
<p>&nbsp;</p>
<p><strong>Введение</strong></p>
<p>В современном мире эффективное управление данными является неотъемлемой частью успешного ведения бизнеса. Магазины музыкальных инструментов, как и другие коммерческие предприятия, нуждаются в надёжных и удобных системах для хранения и обработки информации о товарах, категориях, ценах и клиентах. Разработка базы данных играет ключевую роль в автоматизации этих процессов, позволяя организовать работу с большими объёмами данных и упростить управление магазином.</p>
<p>В этой статье мы рассмотрим процесс создания базы данных для интернет-магазина музыкальных инструментов с использованием MySQL и PHP. Мы изучим ключевые этапы разработки: от проектирования структуры таблиц до интеграции базы данных с веб-интерфейсом. Также будет показано, как с помощью MySQL и PHP можно обеспечить удобный ввод, хранение и вывод данных на веб-страницу, что позволит создать полноценный каталог товаров и организовать их эффективное управление.</p>
<p>В данной статье рассматривается процесс разработки веб-страницы с формой для добавления данных в базу данных «Музыкальные инструменты». Этот процесс включает несколько ключевых этапов:</p>
<p><strong>1. Создание базы данных</strong>:</p>
<ul>
<li>Регистрация на бесплатном хостинге Hostland.ru для размещения проекта.</li>
<li>Настройка базы данных и создание таблицы через интерфейс phpMyAdmin.</li>
</ul>
<p><strong>2. Подключение к базе данных</strong>:</p>
<ul>
<li>Разработка PHP-скрипта data.php для подключения к базе данных с использованием класса PDO, обеспечивающего безопасное и эффективное взаимодействие с MySQL.</li>
</ul>
<p><strong>3. Создание основной страницы для вывода данных</strong>:</p>
<ul>
<li>Разработка страницы index.php, которая отображает данные из таблицы clothes, предоставляя пользователю доступ к информации в базе.</li>
</ul>
<p><strong>4. Создание формы для поиска данных</strong>:</p>
<ul>
<li>Создание страницы index2.php, включающей HTML-форму для поиска данных и соответствующий PHP-скрипт, который обрабатывает запросы и ищет информацию в базе данных.</li>
</ul>
<p><strong>5. Визуальное оформление</strong>:</p>
<ul>
<li>Разработка файла стилей style.css, который улучшает внешний вид веб-страницы и придает ей аккуратный и современный дизайн.</li>
</ul>
<p>После выполнения всех этих шагов была создана полноценная веб-страница, которая позволяет пользователям осуществлять поиск мужской одежды в базе данных и удобно отображать результаты в табличной форме.</p>
<p><strong>Создание базы данных</strong></p>
<p>Информационные системы, основанные на MySQL, по-прежнему пользуются большим спросом и занимают ключевые позиции в мире технологий. MySQL зарекомендовал себя как надежное и масштабируемое решение для управления данными, что делает его одним из фаворитов среди веб-разработчиков. Благодаря отличной производительности, устойчивости к нагрузкам и широкой поддержке сообщества MySQL остается предпочтительным выбором для множества современных веб-приложений, включая интернет-магазины и корпоративные платформы. Его гибкость и стабильность продолжают привлекать разработчиков, стремящихся создавать эффективные и долговечные решения. Рассмотрим пример структуры базы данных музыкальных инструментов.</p>
<p>Таблица &#8220;instuments&#8221; :</p>
<ul>
<li>instrument_id (INT, PRIMARY KEY): уникальный идентификатор музыкального инструмента.</li>
<li>name (VARCHAR(255), NOT NULL): название музыкального инструмента.</li>
<li>category_id (INT): идентификатор категории музыкального инструмента, связанный с таблицей &#8220;instrument_categories&#8221;.</li>
<li>type (ENUM(&#8216;Струнный&#8217;, &#8216;Духовой&#8217;, &#8216;Ударный&#8217;, &#8216;Электронный&#8217;)): тип музыкального инструмента.</li>
<li>manufacturing_date (DATE): дата изготовления музыкального инструмента.</li>
<li>description (TEXT): описание музыкального инструмента.</li>
<li>price (INT): цена музыкального инструмента.</li>
</ul>
<p>Таблица &#8220;instrument_categories&#8221;:</p>
<ul>
<li>category_id (INT, PRIMARY KEY): уникальный идентификатор категории музыкальных инструментов.</li>
<li>category_name (VARCHAR(255), NOT NULL): название категории музыкальных инструментов.</li>
<li>description (TEXT): описание категории музыкальных инструментов.</li>
</ul>
<p>Процесс добавления данных реализуется с помощью функции «вставить», как показано на рис. 1. Для этого пользователь выбирает соответствующую опцию в меню, после чего открывается форма для ввода информации. В каждое поле этой формы необходимо внести требуемые значения. После завершения ввода и отправки формы данные автоматически сохраняются в базе. Результат успешного добавления мгновенно отображается на экране, подтверждая правильность операции.</p>
<p><a href="https://web.snauka.ru/issues/2024/10/102717/1-752" rel="attachment wp-att-102721"><img class="alignnone size-full wp-image-102721 aligncenter" src="https://web.snauka.ru/wp-content/uploads/2024/10/1.png" alt="" width="776" height="425" /></a></p>
<p align="center">Рис. 1. Вставка данных в таблицу</p>
<p>&nbsp;</p>
<p>Далее возвращаемся на сайт Hostland.ru и переходим в раздел «Файлы | FTP». Там находим и выбираем опцию «Файловый менеджер», которая находится чуть ниже. В файловом менеджере открываем папку «www» и создаём в ней новую директорию с именем «connection». Внутри этой папки создаём файл с именем data.php. В этот файл вставляем заранее подготовленный код.</p>
<p>Весь процесс создания папки и добавления кода наглядно показан на рисунке 2.</p>
<p style="text-align: center;"> <a href="https://web.snauka.ru/issues/2024/10/102717/2-495" rel="attachment wp-att-102722"><img src="https://web.snauka.ru/wp-content/uploads/2024/10/2.png" alt="" width="780" height="247" /></a></p>
<p align="center">Рис. 2. Подключение к БД</p>
<p>На месте «host1874466_1» и «12345» вводим свои данные.</p>
<p>Затем возвращаемся назад в папку «www» и создаём файл index.php и вводим этот код (рисунок 3) с помощью этого файла мы выводим две наши таблицы&#8221;instuments&#8221; и  &#8220;instrument_categories&#8221;:</p>
<p><a href="https://web.snauka.ru/issues/2024/10/102717/3-391" rel="attachment wp-att-102723"><img class="alignnone size-full wp-image-102723 aligncenter" src="https://web.snauka.ru/wp-content/uploads/2024/10/3.png" alt="" width="421" height="653" /></a></p>
<p style="text-align: center;">Рис. 3. Вывод таблиц на сайте</p>
<p>В случае необходимости в отступе, вводим &lt;br /&gt; между кодами вывода наших таблиц (пример разницы на рисунках 4 и 5).</p>
<p align="center"> <a href="https://web.snauka.ru/issues/2024/10/102717/4-303" rel="attachment wp-att-102724"><img class="aligncenter size-full wp-image-102724" src="https://web.snauka.ru/wp-content/uploads/2024/10/4.png" alt="" width="1017" height="291" /></a></p>
<p align="center">Рис. 4. Таблицы без отступа</p>
<p align="center"> <a href="https://web.snauka.ru/issues/2024/10/102717/5-205" rel="attachment wp-att-102725"><img class="aligncenter size-full wp-image-102725" src="https://web.snauka.ru/wp-content/uploads/2024/10/5.png" alt="" width="1021" height="303" /></a></p>
<p style="text-align: center;">Рис. 5. Таблицы с отступами</p>
<p><strong>Заключение</strong></p>
<p>Этот пример демонстрирует ключевые принципы взаимодействия с базами данных и формами на PHP, что может стать отличным фундаментом для разработки разнообразных веб-приложений. Проект легко поддается модификации и масштабированию в зависимости от требований — можно добавлять новые возможности и совершенствовать уже существующие функции.</p>
<p>В итоге можно сказать, что связка MySQL и PHP представляет собой мощный инструмент, который не только упрощает создание веб-приложений, но и позволяет эффективно управлять данными. В будущем для повышения безопасности и производительности стоит рассмотреть возможность использования более продвинутых подходов, таких как внедрение ORM (объектно-реляционного отображения), добавление систем аутентификации и авторизации пользователей, а также оптимизация SQL-запросов.</p>
<p>Мы надеемся, что этот материал окажется полезным как для начинающих веб-разработчиков, так и для более опытных специалистов, желающих найти практические примеры работы с PHP в реальных проектах.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/10/102717/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Интерактивное изменение данных на веб-странице с использованием AJAX и MySQL на Hostland</title>
		<link>https://web.snauka.ru/issues/2025/01/103014</link>
		<comments>https://web.snauka.ru/issues/2025/01/103014#comments</comments>
		<pubDate>Wed, 29 Jan 2025 16:26:26 +0000</pubDate>
		<dc:creator>Мухаяров Дильназ Данисович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[hostland]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[phpmyadmin]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[динамические таблицы]]></category>
		<category><![CDATA[интерактивность]]></category>
		<category><![CDATA[редактирование данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/01/103014</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Hostland — это популярный хостинг-провайдер, который предоставляет удобный доступ к веб-серверу, базам данных MySQL и другим необходимым инструментам для веб-разработки. Работа с Hostland начинается с регистрации и выбора тарифного плана, который соответствует вашим потребностям. Основные шаги работы с Hostland: Регистрация и выбор тарифного плана: Выберите [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович</em><strong><em><br />
</em></strong><span><em>к.ф.-м.н., </em></span><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="background: white;"><span style="color: #212529;">Hostland — это популярный хостинг-провайдер, который предоставляет удобный доступ к веб-серверу, базам данных MySQL и другим необходимым инструментам для веб-разработки. Работа с Hostland начинается с регистрации и выбора тарифного плана, который соответствует вашим потребностям.<br />
</span></p>
<p style="background: white;"><span style="color: #212529;"><strong>Основные шаги работы с Hostland:</strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Регистрация и выбор тарифного плана:</strong> Выберите подходящий план с необходимыми ресурсами (дисковое пространство, трафик, количество баз данных и т.д.) и зарегистрируйтесь на сайте.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Управление доменом:</strong> Зарегистрируйте или перенесите свой домен на Hostland.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Настройка хостинга:</strong><br />
</span></div>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">Создание базы данных MySQL: В панели управления Hostland создайте новую базу данных, определите пользователя и установите пароль.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Доступ к файловой системе: Используйте FTP или файловый менеджер для загрузки файлов вашего веб-приложения.<br />
</span></div>
</li>
</ul>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Установка PHP:</strong> Hostland поддерживает PHP, поэтому вам не нужно дополнительно устанавливать его.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Работа с phpMyAdmin:</strong> Для управления базой данных Hostland предоставляет доступ к phpMyAdmin.<br />
</span></div>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>phpMyAdmin<br />
</strong></span></p>
<p style="background: white;"><span style="color: #212529;">phpMyAdmin — это мощный инструмент для администрирования баз данных MySQL через веб-интерфейс. Он предоставляет графическое окружение для выполнения различных операций, таких как:<br />
</span></p>
<ol>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Создание и редактирование баз данных:</strong> Используйте phpMyAdmin для создания новых баз данных, таблиц, индексов, ограничений и т.д.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Управление таблицами:</strong> Изменяйте структуру таблиц, добавляйте и удаляйте столбцы, редактируйте типы данных и т.д.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Запросы SQL:</strong> Выполняйте запросы SQL для извлечения, вставки, обновления и удаления данных.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Импорт и экспорт данных:</strong> Импортируйте и экспортируйте данные в различных форматах (CSV, SQL и т.д.).<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;"><strong>Управление пользователями:</strong> Создавайте и редактируйте пользователей базы данных, настраивайте их права доступа.<br />
</span></div>
</li>
</ol>
<p style="background: white;"><span style="color: #212529;">Итак, я решил создать интерактивный веб-сайт для небольшого овощного магазина, где можно было бы редактировать информацию о покупателях и овощах прямо на сайте, без необходимости перезагружать страницу. Для этого я использовал комбинацию PHP, MySQL, jQuery и AJAX на хостинге Hostland.<br />
</span></p>
<p style="background: white;"><span style="color: #212529;">Сначала я спроектировал базу данных. Я создал три таблицы в phpMyAdmin: <span style="color: #e83e8c;">vegans<span style="color: #212529;"> (для информации о покупателях), <span style="color: #e83e8c;">vegetables<span style="color: #212529;"> (для информации об овощах) и <span style="color: #e83e8c;">vegan_vegetable<span style="color: #212529;"> (связующая таблица для реализации связи «многие ко многим», так как один покупатель может купить несколько овощей, а один овощ — несколько покупателей). В каждой таблице я определил необходимые поля с соответствующими типами данных (целые числа, строки, даты и десятичные числа для цен).<em><br />
</em></span></span></span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">Затем я занялся созданием главной страницы (<span style="color: #e83e8c;">index.php<span style="color: #212529;">). Здесь я использовал PHP для подключения к базе данных MySQL и выполнения SQL-запросов <span style="color: #e83e8c;">SELECT<span style="color: #212529;"> для извлечения данных о покупателях и овощах. Полученные данные я отобразил в виде двух HTML-таблиц. В верхней части страницы я добавил кнопку &#8220;Интерактив&#8221;.<em><br />
</em></span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">Кнопка &#8220;Интерактив&#8221; ведёт на страницу <span style="color: #e83e8c;">interactive.php<span style="color: #212529;">. На этой странице я снова подключился к базе данных, получил данные и отобразил их в виде тех же таблиц, но с одним важным отличием: каждая ячейка, которую можно редактировать, получила класс <span style="color: #e83e8c;">dynamic<span style="color: #212529;">.<br />
</span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">Далее, я использовал jQuery для того, чтобы добавить интерактивность. При клике на ячейку с классом <span style="color: #e83e8c;">dynamic<span style="color: #212529;">, стандартный текст заменялся на поле ввода. После того как пользователь внёс изменения и вышел из поля (событие <span style="color: #e83e8c;">blur<span style="color: #212529;">) или нажал Enter, данные отправлялись на сервер с помощью AJAX.<em><br />
</em></span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">Серверная часть, обработка изменений, реализована в файле <span style="color: #e83e8c;">itable_save.php<span style="color: #212529;">. Этот PHP-скрипт получал данные из AJAX-запроса, формировал подготовленный SQL-запрос <span style="color: #e83e8c;">UPDATE<span style="color: #212529;"> для безопасности и записывал изменения в базу данных. После успешного обновления он возвращал подтверждающее сообщение. <em><br />
</em></span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">Для обновления таблиц на главной странице после сохранения изменений на интерактивной странице я создал ещё один файл <span style="color: #e83e8c;">update_tables.php<span style="color: #212529;">. Этот скрипт получает актуальные данные из базы данных и формирует их в формате JSON. Затем, с помощью AJAX на странице <span style="color: #e83e8c;">interactive.php<span style="color: #212529;">, обновляется контент таблиц на главной странице <span style="color: #e83e8c;">index.php<span style="color: #212529;">. <em><br />
</em></span></span></span></span></span></span></span></p>
<p style="background: white;"><span style="color: #212529;">В результате, при нажатии на кнопку &#8220;Интерактив&#8221;, я перехожу на страницу с редактируемыми таблицами. После сохранения изменений, главная страница автоматически обновляется с учетом внесенных данных, не требуя полной перезагрузки. <em><br />
</em></span></p>
<p style="background: white;"><span style="color: #212529;">В целом, проект оказался довольно интересным и показал, как мощно сочетание PHP, MySQL, jQuery и AJAX может улучшить пользовательский опыт, создавая динамические и интерактивные веб-страницы.<br />
</span></p>
<p style="background: white;"><span style="color: #212529;">Рассмотрим создание интерактивного интерфейса на примере овощного магазина, где пользователи могут редактировать данные о покупателях и овощах.<br />
</span></p>
<p style="background: white;"><span style="color: #212529;"><strong>1. Проектирование Базы Данных:</strong><br />
</span></p>
<p style="background: white;"><span style="color: #212529;">Мы создали три таблицы:<br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #e83e8c;">vegans<span style="color: #212529;"> (покупатели)<br />
</span></span></div>
</li>
<li>
<div style="background: white;"><span style="color: #e83e8c;">vegetables<span style="color: #212529;"> (овощи)<br />
</span></span></div>
</li>
<li>
<div style="background: white;"><span style="color: #e83e8c;">vegan_vegetable<span style="color: #212529;"> (связь многие ко многим)</span></span></div>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>2. Создание динамической веб-страницы (<span style="color: #e83e8c;">index.php<span style="color: #212529;">):</span></span></strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">На главной странице отображаются таблицы покупателей и овощей (статические данные).<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Добавлена кнопка &#8220;Интерактив&#8221;, которая ведет на новую страницу с интерактивными таблицами <span style="color: #e83e8c;">interactive.php<span style="color: #212529;"><br />
</span></span></span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Используется PHP и MySQL для подключения к базе данных и извлечения данных.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Для отображения данных используются HTML-таблицы.<br />
</span></div>
</li>
</ul>
<p>&lt;!DOCTYPE&nbsp;html&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;Овощной&nbsp;Магазин&lt;/title&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.dynamic&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cursor:&nbsp;pointer;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.dynamic:hover&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:&nbsp;#f0f0f0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/style&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;center&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;button&nbsp;id=&#8221;interactiveButton&#8221;&gt;Интерактив&lt;/button&gt;&nbsp;&lt;br&gt;&nbsp;&lt;br&gt;&nbsp;&nbsp;&lt;!&#8211;&nbsp;Кнопка&nbsp;сверху&nbsp;&#8211;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;Овощной&nbsp;Магазин&lt;/h1&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php<br />
&nbsp;&nbsp;&nbsp;&nbsp;$servername&nbsp;=&nbsp;&#8221;localhost&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$username&nbsp;=&nbsp;&#8221;host1876921_preobraz&#8221;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;имя&nbsp;пользователя&nbsp;базы&nbsp;данных<br />
&nbsp;&nbsp;&nbsp;&nbsp;$password&nbsp;=&nbsp;&#8221;715216&#8243;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;пароль&nbsp;базы&nbsp;данных<br />
&nbsp;&nbsp;&nbsp;&nbsp;$dbname&nbsp;=&nbsp;&#8221;host1876921_interactiveovochi&#8221;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;имя&nbsp;вашей&nbsp;базы&nbsp;данных<br />
&nbsp;&nbsp;&nbsp;&nbsp;$conn&nbsp;=&nbsp;new&nbsp;mysqli($servername,&nbsp;$username,&nbsp;$password,&nbsp;$dbname);<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($conn-&gt;connect_error)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die(&#8220;Ошибка&nbsp;подключения:&nbsp;&#8221;&nbsp;.&nbsp;$conn-&gt;connect_error);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;h2&gt;Список&nbsp;покупателей&lt;/h2&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$sql_vegans&nbsp;=&nbsp;&#8221;SELECT&nbsp;*&nbsp;FROM&nbsp;vegans&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$result_vegans&nbsp;=&nbsp;$conn-&gt;query($sql_vegans);<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($result_vegans-&gt;num_rows&nbsp;&gt;&nbsp;0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;table&nbsp;id=&#8217;vegansTable&#8217;&nbsp;border=&#8217;1&#8242;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;ID&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Имя&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Фамилия&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Email&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Телефон&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Дата&nbsp;регистрации&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Город&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;($row&nbsp;=&nbsp;$result_vegans-&gt;fetch_assoc())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["id_vegan"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["first_name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["last_name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["email"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["phone_number"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["registration_date"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["city"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;/table&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;p&gt;Нет&nbsp;покупателей&lt;/p&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;h2&gt;Список&nbsp;овощей&lt;/h2&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$sql_vegetables&nbsp;=&nbsp;&#8221;SELECT&nbsp;*&nbsp;FROM&nbsp;vegetables&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$result_vegetables&nbsp;=&nbsp;$conn-&gt;query($sql_vegetables);<br />
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($result_vegetables-&gt;num_rows&nbsp;&gt;&nbsp;0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;table&nbsp;id=&#8217;vegetablesTable&#8217;&nbsp;border=&#8217;1&#8242;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;ID&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Название&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Сорт&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Цена&nbsp;за&nbsp;кг&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Количество&nbsp;на&nbsp;складе&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Дата&nbsp;добавления&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Страна&nbsp;происхождения&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;($row&nbsp;=&nbsp;$result_vegetables-&gt;fetch_assoc())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["id_vegetable"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["variety"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["price_per_kg"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["stock_quantity"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["date_added"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["country_origin"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;/table&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;&#8221;&lt;p&gt;Нет&nbsp;овощей&lt;/p&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;$conn-&gt;close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;?&gt;<br />
&lt;/center&gt;<br />
&lt;script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById(&#8216;interactiveButton&#8217;).addEventListener(&#8216;click&#8217;,&nbsp;function()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.location.href&nbsp;=&nbsp;&#8217;interactive.php&#8217;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;});<br />
&lt;/script&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p style="background: white;"><span style="color: #212529;"><strong>3. Создание интерактивной страницы (<span style="color: #e83e8c;">interactive.php<span style="color: #212529;">):</span></span></strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">На странице <span style="color: #e83e8c;">interactive.php<span style="color: #212529;"> отображаются таблицы покупателей и овощей c возможностью изменения данных.<br />
</span></span></span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Используется PHP и MySQL для подключения к базе данных и извлечения данных.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Каждое поле таблицы, которое можно изменять имеет класс <span style="color: #e83e8c;">.dynamic<span style="color: #212529;">.<br />
</span></span></span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Скрипт JQuery, который создает input поля для изменения.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Используется Ajax-запрос для сохранения изменений.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Добавлена кнопка &#8220;Назад&#8221;, которая перенаправляет на главную страницу <span style="color: #e83e8c;">index.php<span style="color: #212529;">.<br />
</span></span></span></div>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_1.png" alt="" /><span style="color: #212529;"><strong><br />
</strong></span></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_2.png" alt="" /><span style="color: #212529;"><strong><br />
</strong></span></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_3.png" alt="" /><span style="color: #212529;"><strong><br />
</strong></span></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_4.png" alt="" /><span style="color: #212529;"><strong><br />
</strong></span></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_5.png" alt="" /></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_6.png" alt="" /><span style="color: #212529;"><br />
</span></p>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>4. Обработка изменений на сервере (<span style="color: #e83e8c;">itable_save.php<span style="color: #212529;">):</span></span></strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">Этот PHP-скрипт получает данные через POST-запрос.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Выполняет SQL-запрос UPDATE для изменения данных в базе.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Возвращает сообщение об успешном или неудачном обновлении.<br />
</span></div>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_7.png" alt="" /><span style="color: #212529;"><br />
</span></p>
<p style="background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_8.png" alt="" /><span style="color: #212529;"><br />
</span></p>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>5. Обновление данных на главной странице (<span style="color: #e83e8c;">update_tables.php<span style="color: #212529;">):</span></span></strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">Этот PHP-скрипт получает актуальные данные из базы.<br />
</span></div>
</li>
<li>
<div style="background: white;"><span style="color: #212529;">Возвращает данные в формате JSON, которые применяет скрипт на странице <span style="color: #e83e8c;">interactive.php</span></span></div>
</li>
</ul>
<p style="background: white;">
<p>&lt;?php<br />
$servername&nbsp;=&nbsp;&#8221;localhost&#8221;;<br />
$username&nbsp;=&nbsp;&#8221;host1876921_preobraz&#8221;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;имя&nbsp;пользователя&nbsp;базы&nbsp;данных<br />
$password&nbsp;=&nbsp;&#8221;715216&#8243;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;пароль&nbsp;базы&nbsp;данных<br />
$dbname&nbsp;=&nbsp;&#8221;host1876921_interactiveovochi&#8221;;&nbsp;&nbsp;//&nbsp;Замените&nbsp;на&nbsp;имя&nbsp;вашей&nbsp;базы&nbsp;данных<br />
$output&nbsp;=&nbsp;array();<br />
//&nbsp;Вывод&nbsp;таблицы&nbsp;покупателей<br />
$sql_vegans&nbsp;=&nbsp;&#8221;SELECT&nbsp;*&nbsp;FROM&nbsp;vegans&#8221;;<br />
$result_vegans&nbsp;=&nbsp;$conn-&gt;query($sql_vegans);<br />
$output["vegans"]&nbsp;=&nbsp;&#8221;";<br />
if&nbsp;($result_vegans-&gt;num_rows&nbsp;&gt;&nbsp;0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$output["vegans"]&nbsp;.=&nbsp;&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;ID&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Имя&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Фамилия&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Email&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Телефон&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Дата&nbsp;регистрации&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Город&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;($row&nbsp;=&nbsp;$result_vegans-&gt;fetch_assoc())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$output["vegans"]&nbsp;.=&nbsp;&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["id_vegan"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["first_name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["last_name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["email"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["phone_number"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["registration_date"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["city"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
//&nbsp;Вывод&nbsp;таблицы&nbsp;овощей<br />
$sql_vegetables&nbsp;=&nbsp;&#8221;SELECT&nbsp;*&nbsp;FROM&nbsp;vegetables&#8221;;<br />
$result_vegetables&nbsp;=&nbsp;$conn-&gt;query($sql_vegetables);<br />
$output["vegetables"]&nbsp;=&nbsp;&#8221;";<br />
if&nbsp;($result_vegetables-&gt;num_rows&nbsp;&gt;&nbsp;0)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;$output["vegetables"]&nbsp;.=&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;ID&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Название&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Сорт&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Цена&nbsp;за&nbsp;кг&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Количество&nbsp;на&nbsp;складе&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Дата&nbsp;добавления&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Страна&nbsp;происхождения&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;($row&nbsp;=&nbsp;$result_vegetables-&gt;fetch_assoc())&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$output["vegetables"]&nbsp;.=&nbsp;&#8221;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["id_vegetable"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["name"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["variety"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["price_per_kg"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["stock_quantity"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["date_added"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&#8221;&nbsp;.&nbsp;$row["country_origin"]&nbsp;.&nbsp;&#8221;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;&#8221;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
$conn-&gt;close();<br />
echo&nbsp;json_encode($output);<br />
?&gt;</p>
<p style="background: white;"><span style="color: #212529;"><strong>6. Обновление данных на главной странице:</strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">После успешного сохранения в <span style="color: #e83e8c;">interactive.php<span style="color: #212529;"> вызывается скрипт обновления таблиц на главной странице<img src="https://web.snauka.ru/wp-content/uploads/2025/01/012925_1514_9.png" alt="" /><br />
</span></span></span></div>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>7. Использование Ajax:</strong><br />
</span></p>
<ul>
<li>
<div style="background: white;"><span style="color: #212529;">Ajax позволяет отправлять данные на сервер и получать ответ без перезагрузки страницы. Это создаёт ощущение динамичности и интерактивности интерфейса.<br />
</span></div>
</li>
</ul>
<p style="background: white;"><span style="color: #212529;"><strong>Заключение<br />
</strong></span></p>
<p style="background: white;"><span style="color: #212529;">В этой статье мы продемонстрировали, как создать интерактивный интерфейс для редактирования данных с использованием AJAX, PHP и MySQL на хостинге Hostland. Вы можете использовать этот пример в качестве отправной точки для разработки более сложных веб-приложений и административных панелей. Главное — это комбинировать знания в области баз данных, серверного и клиентского программирования для достижения желаемого результата.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/01/103014/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка веб-приложения для каталога косметики</title>
		<link>https://web.snauka.ru/issues/2025/02/103085</link>
		<comments>https://web.snauka.ru/issues/2025/02/103085#comments</comments>
		<pubDate>Mon, 24 Feb 2025 04:33:54 +0000</pubDate>
		<dc:creator>Пальгова Полина Павловна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[каталог мужской одежды]]></category>
		<category><![CDATA[разработка веб-страницы]]></category>
		<category><![CDATA[форма добавления данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/02/103085</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Введение Сегодня MySQL – это одна из самых популярных систем управления базами данных (СУБД), которая идеально подходит для начинающих разработчиков. Она является бесплатной и открытой, что делает её отличным выбором для тех, кто только начинает изучать базы данных. MySQL известна своей простотой в установке [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;">Научный руководитель: <em>Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: right; background: white;">
<p style="text-align: justify;"><span><strong>Введение<br />
</strong></span></p>
<p style="text-align: justify;"><span>Сегодня MySQL – это одна из самых популярных систем управления базами данных (СУБД), которая идеально подходит для начинающих разработчиков. Она является бесплатной и открытой, что делает её отличным выбором для тех, кто только начинает изучать базы данных. MySQL известна своей простотой в установке и использовании, поэтому студент может быстро освоить её основные принципы.<br />
</span></p>
<p style="text-align: justify;"><span>Для начинающих разработчиков MySQL становится важным инструментом, так как она позволяет эффективно работать с большими объёмами данных. Она поддерживает множество типов данных и функций, что помогает создать полноценные базы для различных веб-приложений. Например, студент может легко организовать хранение данных для блога, интернет-магазина или учебного портала.<br />
</span></p>
<p style="text-align: justify;"><span>Одним из ключевых преимуществ MySQL является её тесная интеграция с PHP – языком программирования, который широко используется для создания динамических веб-сайтов. PHP позволяет взаимодействовать с MySQL, создавая мощные и гибкие веб-приложения. Например, студент может написать скрипт на PHP, который отправляет запросы в базу данных MySQL для получения нужной информации, как, например, список пользователей.<br />
</span></p>
<p style="text-align: justify;"><span>PHP и MySQL работают вместе так, что разработчик может создать интерфейс для взаимодействия с базой данных, где пользователи могут добавлять, редактировать или удалять данные через веб-страницу. Благодаря этой связке студент понимает основы клиент-серверного взаимодействия. Создавая такой проект, студент учится базовым принципам веб-программирования, что будет полезно в будущей карьере.<br />
</span></p>
<p style="text-align: justify;"><span>Процесс создания веб-приложения с использованием MySQL и PHP интуитивно понятен. Студент начинает с установки локального веб-сервера, например XAMPP, который поддерживает как PHP, так и MySQL. Далее, он создаёт базу данных, пишет код на PHP для работы с ней, и уже через несколько шагов у него готово полноценное веб-приложение.<br />
</span></p>
<p style="text-align: justify;"><span>Когда проект завершён, следующим важным шагом становится размещение приложения в интернете. Для этого студент может зарегистрироваться на одном из популярных хостингов, например, Hostland. Этот хостинг предоставляет удобный интерфейс для работы с базами данных MySQL и поддерживает PHP, что делает его подходящим выбором для новичков.<br />
</span></p>
<p style="text-align: justify;"><span>После того, как студент загружает свой проект на Hostland, его приложение становится доступным для пользователей по всему миру. База данных MySQL теперь подключена к интернету, что позволяет приложению работать в режиме онлайн, предоставляя данные из любой точки мира.<br />
</span></p>
<p style="text-align: justify;"><span>Hostland также предлагает инструменты для управления базами данных, которые позволяют студенту легко обновлять или изменять свою базу данных, не погружаясь в сложные команды. Это упрощает процесс администрирования и делает обучение более комфортным.<br />
</span></p>
<p style="text-align: justify;"><span>В данной статье рассматривается процесс разработки веб-страницы с формой для добавления данных в базу данных «Каталог мужской одежды». Этот процесс включает несколько ключевых этапов:<br />
</span></p>
<ul>
<li>
<div><span><strong>Создание базы данных</strong>:<br />
</span></div>
<ul>
<li><span>Регистрация на бесплатном хостинге hostland.ru.<br />
</span></li>
<li><span>Создание базы данных и таблицы в phpMyAdmin.<br />
</span></li>
</ul>
</li>
<li>
<div><span><strong>Разработка подключения к базе данных</strong>:<br />
</span></div>
<ul>
<li><span>Создание PHP-файла </span><span>data.php</span><span> для подключения к базе данных с использованием класса </span><span>PDO</span><span>.<br />
</span></li>
</ul>
</li>
<li>
<div><span><strong>Создание основной страницы для отображения данных</strong>:<br />
</span></div>
<ul>
<li><span>Создание файла </span><span>index.php</span><span>, который выводит данные из таблицы </span><span>cosmetics</span><span>.<br />
</span></li>
</ul>
</li>
<li>
<div><span><strong>Создание формы поиска данных</strong>:<br />
</span></div>
<ul>
<li><span>Создание файла </span><span>index2.php</span><span>, который содержит HTML-форму поиска данных и PHP-скрипт для поиска этих данных в базе данных.<br />
</span></li>
</ul>
</li>
<li>
<div><span><strong>Декоративное оформление</strong>:<br />
</span></div>
<ul>
<li><span>Создание файла стилей </span><span>style.css</span><span> для улучшения внешнего вида веб-страниц.<br />
</span></li>
</ul>
</li>
</ul>
<p style="text-align: justify;"><span>В результате выполнения всех шагов, описанных в статье, мы получили полностью функционирующую веб-страницу, которая позволяет производить поиск мужской одежды в базе данных и отображать их в удобном табличном формате.<br />
</span></p>
<p><span><strong>Разработка базы данных<br />
</strong></span></p>
<p style="text-align: justify;"><span>Информационные системы, использующие MySQL, остаются востребованными и широко распространены [1]. MySQL представляет собой надежное и масштабируемое решение для хранения данных, что делает его популярным выбором среди веб-разработчиков. Многие современные веб-приложения, такие как интернет-магазины и корпоративные системы, продолжают предпочитать MySQL из-за его высокой производительности, надежности и поддержки со стороны разработчиков.<br />
</span></p>
<p style="text-align: justify;"><span>Для разработки базы данных каталога косметики, сначала необходимо продумать структуру будущей базы данных. Это включает в себя определение таблиц, их полей и связей между ними. Рассмотрим пример структуры базы данных для каталога косметики.<br />
</span></p>
<p><span>Таблица Сosmetics (Косметика):<br />
</span></p>
<ul>
<li><span>id (INT): Уникальный идентификатор.<br />
</span></li>
<li><span>title (VARCHAR(220)): Название товара.<br />
</span></li>
<li><span>delivery (INT): Срок доставки.<br />
</span></li>
<li><span>fabrica (ENUM(3Deluxe, Aravia, CEHKO, Estel)): Производитель.<br />
</span></li>
<li><span>Before date (date): Срок годности.<br />
</span></li>
<li><span>cost (INT): Цена.<br />
</span></li>
<li><span>id cat (int): Категория.<br />
</span></li>
</ul>
<p style="text-align: justify;"><span>Таблица cats (Категории товаров):<br />
</span></p>
<ul>
<li><span>id_cat (INT): Уникальный идентификатор категории.<br />
</span></li>
<li><span>name (VARCHAR(255)): Название категории.<br />
</span></li>
<li>
<div><span>descr (TEXT): Описание категории.<br />
</span></div>
</li>
</ul>
<p style="text-align: justify;"><span>Добавление данных осуществляется через функцию «вставить» [3]. Этот процесс проиллюстрирован на рис. 1. Пользователь должен выбрать опцию «вставить» в меню. Далее, открывается форма для ввода данных. В поля формы вводятся необходимые значения. После заполнения формы, данные сохраняются в таблице.<br />
</span></p>
<p style="text-align: justify;"><span>Результат добавления данных отображается на экране.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_1.png" alt="" /></p>
<p style="text-align: center;"><span>Рис. 1. Вставка данных в таблицу<br />
</span></p>
<p style="text-align: justify;"><span>Затем возвращаемся на сайт Hostland.ru и заходим во вкладку «файлы | FTP». Выбираем опцию «Файловый менеджер», расположенную немного ниже. Переходим в папку «www» и создаём новую папку с названием «connection». Внутри этой папки создаём файл data.php. В этот файл необходимо вставить предоставленный код.<br />
</span></p>
<p style="text-align: justify;"><span>Процесс создания и вставки кода иллюстрирован на рисунке 2.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_2.png" alt="" /></p>
<p style="text-align: center;"><span>Рис. 2. Подключение к БД<br />
</span></p>
<p><span><br />
Указываем имя БД, пользователя и пароль.<br />
</span></p>
<p style="text-align: justify;"><span>Возвращаемся назад в папку «www» и создаём файл index.php и вставляем этот код (рисунок 3):<br />
</span></p>
<p style="text-align: center;"><span><br />
<img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_3.png" alt="" /><br />
Рис. 3. Вывод таблицы на сайте<br />
</span></p>
<p style="text-align: justify;"><span>С помощью таблицы стилей CSS проведем оформление таблиц. Результат представлен на экране (рисунок 4):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рис. 4. Демонстрация вывода базы данных на сайте<br />
</span></p>
<p style="text-align: justify;"><span>Создаём последний файл «index2.php», это форма для поиска данных в таблицу и вставляем данный код (рис. 5):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рис. 5. Код формы поиска</span></p>
<p>&nbsp;</p>
<p><span>В конечном итоге получается сайт такого формата (рисунок 6):<br />
</span></p>
<p style="text-align: center;"><span><br />
<img src="https://web.snauka.ru/wp-content/uploads/2025/02/022425_0427_6.png" alt="" /><br />
Рис. 6. Демонстрация формы поиска<br />
</span></p>
<p><span><strong>Заключение<br />
</strong></span></p>
<p style="text-align: justify;"><span>Данный пример иллюстрирует основные принципы работы с базами данных и формами на PHP, что может быть полезно при создании различных веб-приложений. Этот проект можно расширять и модифицировать в зависимости от потребностей, добавляя новые функции и улучшая существующие.<br />
</span></p>
<p style="text-align: justify;"><span>Благодаря использованию MySQL и PHP студент получает ценную практику в разработке реальных веб-приложений, учится работать с запросами, формами и системами аутентификации пользователей. Такой подход помогает быстрее освоить базовые концепции веб-разработки и лучше понять, как работают динамические сайты.<br />
</span></p>
<p style="text-align: justify;"><span>В завершение, можно сказать, что MySQL и PHP – это мощная связка технологий, которая не только помогает создавать веб-приложения, но и учит управлять данными.<br />
</span></p>
<p style="text-align: justify;"><span>В перспективе, для повышения безопасности и производительности, можно рассмотреть использование более сложных технологий и подходов, таких как применение ORM (объектно-реляционное отображение), внедрение системы аутентификации и авторизации пользователей, а также оптимизация запросов к базе данных.<br />
</span></p>
<p style="text-align: justify;"><span>Мы надеемся, что данный материал будет полезен как начинающим веб-разработчикам, так и более опытным специалистам, ищущим практические примеры реализации веб-приложений на PHP.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/02/103085/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка интерактивной формы заказа блюд с использованием HTML и PHP</title>
		<link>https://web.snauka.ru/issues/2025/06/103504</link>
		<comments>https://web.snauka.ru/issues/2025/06/103504#comments</comments>
		<pubDate>Fri, 20 Jun 2025 16:25:59 +0000</pubDate>
		<dc:creator>Ямалова Алия Рамилевна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[безопасность]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[заказ блюд]]></category>
		<category><![CDATA[интерактивность]]></category>
		<category><![CDATA[обработка данных]]></category>
		<category><![CDATA[форма]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/06/103504</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал &#160; В данной статье будет описан процесс создания простой веб-формы с использованием выпадающего списка (select). Форма будет отправлять данные на сервер, где они будут обрабатываться с помощью PHP. Это может быть полезно для создания интерактивных форм, таких как заказ блюд в ресторане или выбор [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right"><em>Научный руководитель: Вильданов Алмаз Нафкатович<strong></strong></em></p>
<p style="text-align: center;" align="right"><em>к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p>&nbsp;</p>
<p>В данной статье будет описан процесс создания простой веб-формы с использованием выпадающего списка (select). Форма будет отправлять данные на сервер, где они будут обрабатываться с помощью PHP. Это может быть полезно для создания интерактивных форм, таких как заказ блюд в ресторане или выбор параметров в любой другой онлайн-системе.</p>
<p>Для реализации этой задачи используются следующие технологии:</p>
<p>HTML — язык разметки для создания структуры страницы.</p>
<p>CSS — язык стилей для оформления внешнего вида.</p>
<p>JavaScript — необязательный компонент, но может быть использован для добавления динамических функций.</p>
<p>PHP — серверный язык программирования для обработки данных, переданных через форму.</p>
<p>&nbsp;</p>
<p>Шаг 1: Создание HTML-формы</p>
<p>Первым шагом является создание HTML-формы с выпадающим списком. Ниже приведен пример кода:</p>
<div style="background-color: #d3d3d3;">
<p>&lt;!DOCTYPE html&gt;&lt;html lang=&#8221;ru&#8221;&gt;</p>
<p>&lt;head&gt;</p>
<p style="padding-left: 30px;">&lt;meta charset=&#8221;UTF-8&#8243;&gt;</p>
<p style="padding-left: 30px;">&lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;</p>
<p style="padding-left: 30px;">&lt;title&gt;Форма с выпадающим списком&lt;/title&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p style="padding-left: 30px;">&lt;h1&gt;Выберите блюдо&lt;/h1&gt;</p>
<p style="padding-left: 30px;">&lt;form method=&#8221;post&#8221; action=&#8221;"&gt;</p>
<p style="padding-left: 60px;">&lt;label for=&#8221;dinner&#8221;&gt;Выберите блюдо:&lt;/label&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">&lt;select name=&#8221;dinner&#8221; id=&#8221;dinner&#8221;&gt;</p>
<p style="padding-left: 90px;">&lt;option value=&#8221;" disabled selected&gt;Выберите блюдо&lt;/option&gt;</p>
<p style="padding-left: 90px;">&lt;option value=&#8221;Каша&#8221;&gt;Каша&lt;/option&gt;</p>
<p style="padding-left: 90px;">&lt;option value=&#8221;Винегрет&#8221;&gt;Винегрет&lt;/option&gt;</p>
<p style="padding-left: 90px;">&lt;option value=&#8221;Пирог&#8221;&gt;Пирог&lt;/option&gt;</p>
<p style="padding-left: 90px;">&lt;option value=&#8221;Компот&#8221;&gt;Компот&lt;/option&gt;</p>
<p style="padding-left: 60px;">&lt;/select&gt;&lt;br&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">&lt;input type=&#8221;submit&#8221; value=&#8221;Отправить&#8221;&gt;</p>
<p style="padding-left: 30px;">&lt;/form&gt;</p>
</div>
<p>Появиться выпадающий список (рисунок 1).</p>
<p align="center"> <img src="https://web.snauka.ru/wp-content/uploads/2025/07/070225_1313_1.png" alt="" /></p>
<p align="center"><em>Рисунок 1. Выпадающий список</em></p>
<div style="background-color: #d3d3d3;">
<p style="padding-left: 30px;">&lt;?php // Обработка данных формы</p>
<p style="padding-left: 30px;">if (isset($_POST["dinner"])) {</p>
<p style="padding-left: 60px;">echo &#8220;&lt;p&gt;Мой заказ: &#8221; . htmlspecialchars($_POST["dinner"]) . &#8220;&lt;/p&gt;&#8221;;</p>
<p style="padding-left: 30px;">}</p>
<p style="padding-left: 30px;">?&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
</div>
<p>Описание кода:</p>
<p>&lt;form&gt; : Элемент формы, который определяет метод отправки (method=&#8221;post&#8221;) и адрес обработчика (action=&#8221;" — текущая страница).</p>
<p>&lt;select&gt; : Выпадающий список с несколькими вариантами (&lt;option&gt;).</p>
<p>Первый &lt;option&gt; имеет атрибут disabled и selected, чтобы он был дефолтным значением и недоступным для выбора.</p>
<p>&lt;input type=&#8221;submit&#8221;&gt; : Кнопка для отправки формы.</p>
<p>PHP-обработка : Если форма была отправлена, PHP проверяет наличие данных из поля dinner и выводит их на экран.</p>
<p>&nbsp;</p>
<p>Шаг 2: Обработка данных на сервере (PHP)</p>
<p>PHP используется для обработки данных, переданных через форму. В данном случае, если пользователь выбрал блюдо и нажал кнопку &#8220;Отправить&#8221;, PHP выведет сообщение с выбранным блюдом (рисунок 2).</p>
<div style="background-color: #d3d3d3;">
<p>&lt;?php</p>
<p>if (isset($_POST["dinner"])) {</p>
<p style="padding-left: 30px;">echo &#8220;&lt;p&gt;Мой заказ: &#8221; . htmlspecialchars($_POST["dinner"]) . &#8220;&lt;/p&gt;&#8221;;</p>
<p>}</p>
<p>?&gt;</p>
</div>
<p>isset($_POST["dinner"]) : Проверяет, была ли передана переменная dinner.</p>
<p>htmlspecialchars() : Защищает от XSS-атак, преобразуя специальные символы в HTML-сущности.</p>
<p align="center"> <img src="https://web.snauka.ru/wp-content/uploads/2025/07/070225_1313_2.png" alt="" /></p>
<p align="center">Рисунок 2 &#8211; Кнопка &#8220;Отправить&#8221;</p>
<p>&nbsp;</p>
<p>Шаг 3: Отображение результата</p>
<p>После отправки формы пользователь увидит выбранное блюдо на странице. Например, если выбрано &#8220;Пирог&#8221;, результат будет выглядеть так (рисунок 3):</p>
<p>Мой заказ: Пирог</p>
<p align="center"> <img src="https://web.snauka.ru/wp-content/uploads/2025/07/070225_1313_3.png" alt="" /></p>
<p align="center">Рисунок 3. Результат</p>
<p>В данной статье был описан процесс создания простой формы с выпадающим списком на HTML и PHP. Такая форма может быть использована для различных целей, таких как заказ товаров, выбор параметров или любых других ситуаций, где необходимо предоставить пользователю возможность выбрать один из нескольких вариантов.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/06/103504/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание формы отзыва с использованием HTML и PHP</title>
		<link>https://web.snauka.ru/issues/2025/06/103505</link>
		<comments>https://web.snauka.ru/issues/2025/06/103505#comments</comments>
		<pubDate>Mon, 30 Jun 2025 16:26:02 +0000</pubDate>
		<dc:creator>Шарифуллин Ильназ Зимфирович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[безопасность ввода]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[интерактивные формы]]></category>
		<category><![CDATA[обработка данных]]></category>
		<category><![CDATA[обратная связь]]></category>
		<category><![CDATA[форма отзыва]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/06/103505</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал &#160; В современном веб-разработке часто возникает необходимость создавать интерактивные формы для сбора информации от пользователей. Одним из распространенных примеров является форма отзыва, которая позволяет пользователям оставить свои комментарии или предложения на сайте. В данной статье мы рассмотрим процесс создания простой формы отзыва с использованием [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right"><em>Научный руководитель: Вильданов Алмаз Нафкатович</em></p>
<p style="text-align: center;" align="right"><em>к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p>&nbsp;</p>
<p>В современном веб-разработке часто возникает необходимость создавать интерактивные формы для сбора информации от пользователей. Одним из распространенных примеров является форма отзыва, которая позволяет пользователям оставить свои комментарии или предложения на сайте. В данной статье мы рассмотрим процесс создания простой формы отзыва с использованием HTML и PHP.</p>
<p>Целью данной статьи является описание шаг-by-шагового процесса создания формы отзыва, которая будет принимать данные от пользователя (отзыв и имя) и выводить их на экран после отправки. Мы также обсудим основные требования к форме и реализацию их с помощью соответствующих технологий.</p>
<p>Необходимо создать форму отзыва, состоящую из:</p>
<ol start="1">
<li>Текстового поля (textarea) для ввода отзыва.</li>
<li>Поля ввода имени (input).</li>
<li>Кнопки отправки данных.</li>
</ol>
<p>Требования к форме:</p>
<ul>
<li>Поле для имени должно быть обязательным для заполнения.</li>
<li>Поле для отзыва должно иметь подсказку текста.</li>
<li>Данные должны отправляться методом POST.</li>
<li>После отправки формы должен выводиться отзыв и имя автора.</li>
</ul>
<p>Шаг 1: Создание HTML-структуры формы</p>
<p>Первым шагом является создание HTML-кода для формы отзыва. Мы будем использовать тег &lt;form&gt; для определения формы, а также элементы &lt;textarea&gt; и &lt;input&gt; для ввода данных.</p>
<div style="background-color: #d3d3d3;">
&lt;!DOCTYPE html&gt;</p>
<p>&lt;html lang=&#8221;ru&#8221;&gt;</p>
<p>&lt;head&gt;</p>
<p style="padding-left: 30px;">&lt;meta charset=&#8221;UTF-8&#8243;&gt;</p>
<p style="padding-left: 30px;">&lt;title&gt;Форма отзыва&lt;/title&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p style="padding-left: 30px;">&lt;h1&gt;Оставьте свой отзыв&lt;/h1&gt;</p>
<p style="padding-left: 30px;">&lt;form method=&#8221;POST&#8221; action=&#8221;"&gt;</p>
<p style="padding-left: 60px;">&lt;!&#8211; Текстовое поле для отзыва &#8211;&gt;</p>
<p style="padding-left: 60px;">&lt;label for=&#8221;summary&#8221;&gt;Ваш отзыв:&lt;/label&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">&lt;textarea id=&#8221;summary&#8221; name=&#8221;summary&#8221; placeholder=&#8221;Введите ваш отзыв&#8221; required&gt;&lt;/textarea&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">&lt;!&#8211; Поле ввода имени &#8211;&gt;</p>
<p style="padding-left: 60px;">&lt;label for=&#8221;surname&#8221;&gt;Ваше имя:&lt;/label&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">&lt;input type=&#8221;text&#8221; id=&#8221;surname&#8221; name=&#8221;surname&#8221; placeholder=&#8221;Введите ваше имя&#8221; required&gt;&lt;br&gt;</p>
<p style="padding-left: 60px;">
<p style="padding-left: 60px;">&lt;!&#8211; Кнопка отправки &#8211;&gt;</p>
<p style="padding-left: 60px;">&lt;button type=&#8221;submit&#8221;&gt;Отправить&lt;/button&gt;</p>
<p style="padding-left: 30px;">&lt;/form&gt;</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">&lt;!&#8211; Место для вывода отзыва &#8211;&gt;</p>
<p style="padding-left: 30px;">&lt;div id=&#8221;response&#8221;&gt;&lt;/div&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
</div>
<p>&nbsp;</p>
<p>Объяснение кода:</p>
<ul>
<li>Тег &lt;form&gt; : Определяет форму с методом отправки данных POST и действием (action), указанным как текущая страница (&#8220;&#8221;).</li>
<li>Тег &lt;textarea&gt; : Используется для ввода многострочного текста. Атрибут placeholder содержит подсказку для пользователя, а required делает это поле обязательным для заполнения.</li>
<li>Тег &lt;input&gt; : Используется для ввода имени пользователя. Также имеет атрибуты placeholder и required.</li>
<li>Кнопка &lt;button&gt; : Отвечает за отправку данных формы.</li>
</ul>
<p>&nbsp;</p>
<p>Шаг 2: Обработка данных с помощью PHP</p>
<p>Для обработки данных, переданных формой, мы используем PHP. После отправки формы данные будут доступны через глобальный массив $_POST. Мы проверим, были ли переданы данные, и если да, то выведем их на экран.</p>
<div style="background-color: #d3d3d3;">
&lt;?php</p>
<p>// Проверяем, были ли отправлены данные формы</p>
<p>if (isset($_POST["surname"]) &amp;&amp; isset($_POST["summary"])) {</p>
<p style="padding-left: 30px;">// Получаем данные из POST-запроса</p>
<p style="padding-left: 30px;">$name = htmlspecialchars($_POST["surname"]);</p>
<p style="padding-left: 30px;">$review = htmlspecialchars($_POST["summary"]);</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">// Выводим отзыв и имя автора</p>
<p style="padding-left: 30px;">echo &#8220;&lt;p&gt;Ваш отзыв: &#8221; . $review . &#8220;&lt;/p&gt;&#8221;;</p>
<p style="padding-left: 30px;">echo &#8220;&lt;p&gt;Автор: &#8221; . $name . &#8220;&lt;/p&gt;&#8221;;</p>
<p>}</p>
<p>?&gt;</p>
</div>
<p>Объяснение кода:</p>
<ol start="1">
<li>Проверка наличия данных : Функция isset() используется для проверки, были ли переданы значения полей surname и summary.</li>
<li>Обработка данных : Функция htmlspecialchars() применяется для экранизации специальных символов в данных, что предотвращает XSS-атаки.</li>
<li>Вывод данных : Если данные были успешно получены, они выводятся на экран в виде сообщения.</li>
</ol>
<p>Шаг 3: Интеграция PHP в HTML</p>
<p>Чтобы форма работала корректно, необходимо поместить PHP-код непосредственно в HTML-файл. Это можно сделать, сохраняя файл с расширением .php вместо .html.</p>
<p>&nbsp;</p>
<p>После выполнения всех шагов у нас получится работающая форма отзыва. При отправке данных форма будет проверять, были ли заполнены все обязательные поля, и затем выводить отзыв и имя автора на экран.</p>
<p>В данной статье мы разобрали процесс создания простой формы отзыва с использованием HTML и PHP. Были описаны основные требования к форме и показано, как обрабатывать данные с помощью PHP. Такая форма может быть легко интегрирована в любое веб-приложение для сбора обратной связи от пользователей.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/06/103505/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
