<?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; веб-разработка</title>
	<atom:link href="http://web.snauka.ru/issues/tag/veb-razrabotka/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +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>Технология Media Source Extensions как спецификация стандарта HTML5</title>
		<link>https://web.snauka.ru/issues/2017/12/85134</link>
		<comments>https://web.snauka.ru/issues/2017/12/85134#comments</comments>
		<pubDate>Tue, 05 Dec 2017 16:28:00 +0000</pubDate>
		<dc:creator>Никоноров Роман Александрович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Media Source Extensions]]></category>
		<category><![CDATA[аудио]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[видео]]></category>
		<category><![CDATA[стандарт]]></category>
		<category><![CDATA[технология]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2017/12/85134</guid>
		<description><![CDATA[Сегодня многие сайты, которые посещает пользователь, имеют видео и аудио элементы. До недавних пор на всех страницах эти элементы были добавлены с помощью стандарта Flash. Но сейчас ему на замену уже пришел стандарт HTML5, который, в свою очередь, с каждым годом обзаводится все большим и большим количеством новых расширений и технологий, удобных для использования в [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня многие сайты, которые посещает пользователь, имеют видео и аудио элементы. До недавних пор на всех страницах эти элементы были добавлены с помощью стандарта Flash. Но сейчас ему на замену уже пришел стандарт HTML5, который, в свою очередь, с каждым годом обзаводится все большим и большим количеством новых расширений и технологий, удобных для использования в веб-разработке.</p>
<p>Media Source Extensions (далее MSE) – это программный интерфейс, который позволяет размещать и воспроизводить мультимедийные файлы (аудио/видео) в сети через HTML5 тэги audio и video соответственно. Эта технология расширяет функционал языка веб-разработки JavaScript, а именно его методов для генерирования медиапотоков и их воспроизведения. Технология поддерживается почти во всех современных браузерах, однако еще не так активно используется, ввиду так и не исчезнувшего до конца старого стандарта Flash. С точки зрения пользователя, HTML5, по сравнению с Flash, имеет такие преимущества, как кроссбраузерность и кроссплатформенность, которые делают отображение сайта универсальным на большинстве устройств. Хоть более новый стандарт HTML5 уже и охватывает большую часть сайтов, содержащих потоковое аудио/видео, полный отказ от Flash специалисты предрекают только на конец 2017 года. Поэтому к этому времени HTML5 вместе с MSE наберет большую популярность среди веб-разработчиков.</p>
<p>Благодаря этой технологии появилась возможность для адаптивного вещания потока в браузере, которая имелась когда-то в устаревшем Flash. Адаптивное вещание потока – воспроизведение потока видео или аудио «по частям», то есть поток «нарезается» на куски, которые и воспроизводятся по мере необходимости в плеере браузера. Но есть один минус такой технологии: при динамическом генерировании потока стало проблематично загружать видео из плеера локально.</p>
<p>Стоит отметить, что технология MSE больше подходит только для воспроизведения видеопотока из-за его возможной высокой задержки. Для возможности воспроизводить поток с минимальными задержками, то есть передачи потока в реальном времени, есть другие технологии, которые не освещаются в данной статье. То есть, если необходимо передать видео с камеры видеонаблюдения или откуда угодно, где не требуется низкая задержка передачи, MSE – разумный выбор.</p>
<p>Расширение MSE добавляет к видео HTML5 возможности буферных источников, то есть раньше пользователь должен был скачивать полный файл видео перед его воспроизведением или использовать надстройки. С MSE же надстройки не требуются. Объект MediaSource вставляется вместо URL-адреса файла, как свойство атрибута «src» объекта видео. Буферы источника добавляются к этому объекту и заполняются данными мультимедиа из сегментированных файлов, которые могут состоять либо из нескольких небольших файлов, либо из одного большого файла с индексацией разделов, которые последовательно скачиваются и воспроизводятся.</p>
<p>По итогу, можно сделать вывод, что окончательный уход стандарта Flash и появление стандарта HTML5 с такими расширениями как MSE, открывает новые возможности для разработчиков веб-сайтов и веб-приложений при решении сложных задач, требующих гибкого подхода.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/12/85134/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сохранение значений с использованием Cookies в HTML</title>
		<link>https://web.snauka.ru/issues/2024/01/101415</link>
		<comments>https://web.snauka.ru/issues/2024/01/101415#comments</comments>
		<pubDate>Wed, 31 Jan 2024 04:39:36 +0000</pubDate>
		<dc:creator>Салихова Регина Салаватовна</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[безопасность данных]]></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/2024/01/101415</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал, г. Нефтекамск HTML (Hypertext Markup Language) – это язык разметки, используемый для создания веб-страниц. Он определяет структуру и содержимое веб-сайта, но не хранит информацию о пользователях. Для сохранения данных пользователей используются cookies. Cookies в HTML – это небольшие текстовые файлы, которые хранятся на компьютере пользователя. [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><span style="color: black;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em></span><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал, </em><em>г. Нефтекамск</em></p>
<p style="text-align: justify; background: white;"><span><span style="color: black;"><br />
</span></span></p>
<p style="text-align: justify;"><span style="text-align: justify;">HTML (Hypertext Markup Language) – это язык разметки, используемый для создания веб-страниц. Он определяет структуру и содержимое веб-сайта, но не хранит информацию о пользователях. Для сохранения данных пользователей используются cookies.</span></p>
<p style="text-align: justify;"><span>Cookies в HTML – это небольшие текстовые файлы, которые хранятся на компьютере пользователя. Они содержат информацию о предпочтениях пользователя, такую как настройки сайта, последние просмотренные товары и т.д. Cookies позволяют сайту запоминать данные о пользователе при каждом посещении.<br />
</span></p>
<p style="text-align: justify;"><span>Сохранение значений с использованием Cookies – это процесс сохранения данных на компьютере пользователя, чтобы они могли быть восстановлены при последующем посещении веб-сайта. Это особенно полезно в случаях, когда требуется сохранить и использовать информацию, которую пользователь вводит на странице.<br />
</span></p>
<p style="text-align: justify;"><span>Преимущества использования Cookies для сохранения значений очевидны. Например, если пользователь заполнил форму на веб-сайте, но случайно закрыл окно или потерял соединение с Интернетом, без Cookies данные будут потеряны. Однако, если значения сохранены в Cookies, они могут быть восстановлены при следующем посещении.<br />
</span></p>
<p style="text-align: justify;"><span>Процесс сохранения значений с использованием Cookies довольно прост. В HTML, JavaScript используется для работы с Cookies. При заполнении формы, значение каждого поля может быть сохранено в Cookies с помощью JavaScript.<br />
</span></p>
<p style="text-align: justify;"><span>Для сохранения значений с использованием Cookies необходимо выполнить следующие шаги:<br />
</span></p>
<p><span style="text-align: justify;">1. Создание и установка Cookies:</span></p>
<p style="text-align: justify;"><span>Вначале необходимо создать новый объект Cookies с помощью конструктора Document.cookie. Но это не просто свойство данных, а акcессор (геттер/сеттер). Присваивание к нему обрабатывается особым образом. Запись в document.cookie обновит только упомянутые в ней куки, но при этом не затронет все остальные. Например, этот вызов установит куки с именем user и значением John(Рисунок 1):</span></p>
<p><img class="aligncenter" src="https://web.snauka.ru/wp-content/uploads/2024/02/020124_0340_1.png" alt="" /></p>
<p style="text-align: center;"><span><em>Рисунок 1.<br />
</em></span></p>
<p><span style="text-align: justify;">2. Получение значений Cookies:</span></p>
<p style="text-align: justify;"><span>Для получения значения Cookies, необходимо прочитать свойство document.cookie.<br />
</span></p>
<p style="text-align: justify;"><span>Значение Cookies будет представлено в виде строки, разделенной точкой с запятой &#8220;;&#8221;.<br />
</span></p>
<p style="text-align: justify;"><span>Чтобы получить конкретное значение Cookies, необходимо выполнить дополнительные действия, такие как использование регулярных выражений или разбиение строки на отдельные части.<br />
</span></p>
<p><span style="text-align: justify;">3. Обновление значений Cookies:</span></p>
<p style="text-align: justify;"><span>Для обновления значения Cookies необходимо выполнить те же шаги, что и при создании нового значения.<br />
</span></p>
<p style="text-align: justify;"><span>Однако, при этом необходимо указать те же самые параметры, которые были установлены при создании Cookies, такие как путь, истекающее время и домен.<br />
</span></p>
<p><span style="text-align: justify;">4. Удаление значений Cookies:</span></p>
<p style="text-align: justify;"><span>Чтобы удалить значение Cookies, необходимо установить срок его действия на прошедшую дату или вызвать метод<br />
</span></p>
<p style="text-align: justify;"><span>document.cookie = &#8220;username=;<br />
</span></p>
<p style="text-align: justify;"><span>expires=Thu, 01 Jan 1970 00:00:00 UTC;<br />
</span></p>
<p style="text-align: justify;"><span> path=/&#8221;.<br />
</span></p>
<p style="text-align: justify;"><span>Это удалит Cookies с именем &#8220;username&#8221;.<br />
</span></p>
<p style="text-align: justify;"><span>Рассмотрим пример использования cookies в программе, вычисляющей сумму двух чисел (Рисунок 2):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020124_0340_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>Для сохранения Cookies вызываются функции set_cookie, которые записывают значения переменных U и R в куки браузера (Рисунок 3):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020124_0340_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>Чтобы переменные получили значения cookies, используют функцию get_cookie (Рисунок 4):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020124_0340_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>Добавим кнопку «Удалить куки» с помощью onclick=&#8221;DelCook()&#8221;(Рисунок 5):<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2024/02/020124_0340_5.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 5<br />
</em></span></p>
<p style="text-align: justify;"><span>Важно отметить, что сохранение значений с использованием Cookies имеет некоторые ограничения, такие как ограниченное место для хранения, необходимость включенных Cookies в браузере пользователя и возможные проблемы с безопасностью. Более надежными альтернативами могут быть использование баз данных или локальное хранилище веб-браузера.<br />
</span></p>
<p style="text-align: justify;"><span>В заключение, сохранение значений с использованием Cookies в HTML – это удобный и популярный способ сохранения данных на компьютере пользователя. Они позволяют веб-сайтам восстанавливать информацию при повторном посещении и облегчают работу пользователя. Однако необходимо учитывать ограничения и безопасность при использовании Cookies.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/01/101415/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Хостинг Hostland и публикация сайта</title>
		<link>https://web.snauka.ru/issues/2024/06/102204</link>
		<comments>https://web.snauka.ru/issues/2024/06/102204#comments</comments>
		<pubDate>Fri, 14 Jun 2024 05:18:28 +0000</pubDate>
		<dc:creator>Аллаберганов Журабек Тулкин угли</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[hostland]]></category>
		<category><![CDATA[веб-проект]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[веб-сервер]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[веб-хостин]]></category>
		<category><![CDATA[инструменты разработки сайта hostland]]></category>
		<category><![CDATA[надежность хостинга]]></category>
		<category><![CDATA[настройка dns]]></category>
		<category><![CDATA[оптимизация сайта]]></category>
		<category><![CDATA[панель управления]]></category>
		<category><![CDATA[производительность хостинга]]></category>
		<category><![CDATA[публикация сайта]]></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/2024/06/102204</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Размещение сайта в Интернете &#8211; ключевой этап веб-разработки, и выбор надежного хостинг-провайдера имеет решающее значение для успеха вашего проекта. Хостинговая компания Hostland предлагает широкий спектр услуг, которые позволяют легко и эффективно опубликовать ваш веб-ресурс. Hostland &#8211; это поистине надежный веб-хостинг, отличающийся высокопроизводительной серверной инфраструктурой [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right">Научный руководитель: <em>Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: justify;">Размещение сайта в Интернете &#8211; ключевой этап веб-разработки, и выбор надежного хостинг-провайдера имеет решающее значение для успеха вашего проекта. Хостинговая компания Hostland предлагает широкий спектр услуг, которые позволяют легко и эффективно опубликовать ваш веб-ресурс.</p>
<p>Hostland &#8211; это поистине надежный веб-хостинг, отличающийся высокопроизводительной серверной инфраструктурой и круглосуточной технической поддержкой. Благодаря этому, ваш сайт будет всегда доступен пользователям и будет работать без малейших сбоев. Современные технологии, используемые на серверах Hostland, обеспечивают молниеносную загрузку сайта и бесперебойную работу даже при пиковых нагрузках. Интуитивно понятная панель управления позволяет быстро настроить все необходимые параметры, будь то регистрация доменного имени, конфигурация DNS или загрузка файлов сайта.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-102214" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2024/06/ris1.png" alt="" width="708" height="357" /></p>
<p>Процесс публикации ресурса на хостинге Hostland максимально прост и автоматизирован. Сначала необходимо зарегистрировать доступное доменное имя &#8211; Hostland предлагает широкий выбор популярных зон, включая .com, .ru, .online и другие. Затем в панели управления требуется прописать серверы DNS, чтобы привязать домен к хостингу. После этого можно приступать к загрузке файлов сайта &#8211; для этого предусмотрены встроенные FTP-клиент и инструменты для быстрого деплоймента из Git-репозиториев. Остается только проверить, что все работает корректно, и ваш веб-проект готов к публикации.</p>
<p>Hostland предлагает гибкие тарифные планы на любой бюджет &#8211; от начальных вариантов до масштабируемых решений для крупных корпоративных сайтов. Независимо от выбранного тарифа, вы всегда можете рассчитывать на высокую производительность и надежность хостинга. Для поддержания максимальной эффективности работы ресурса рекомендуется регулярно проводить его оптимизацию: сжимать изображения, минифицировать CSS и JavaScript, использовать кеширование и CDN. Все необходимые инструменты для этого доступны в интуитивной панели управления Hostland.</p>
<p>Хостинг-провайдер Hostland &#8211; это оптимальное решение для публикации и размещения веб-сайтов любой сложности, от простых визиток до масштабных корпоративных проектов на основе популярных CMS-систем. Профессиональная техподдержка всегда готова оказать помощь на всех этапах размещения ресурса и обеспечить бесперебойную работу вашего веб-проекта.</p>
<p><strong>Инструменты разработки сайта Hostland </strong></p>
<p><strong>СУБД MySQL</strong></p>
<p>MySQL (МФА: [maɪ ˌɛskjuːˈɛl]) — свободная реляционная система управления базами данных[4]. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.</p>
<p>MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.</p>
<p>Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.</p>
<p>26 февраля 2008 года Sun Microsystems приобрела MySQL AB за 1 млрд долларов[5], 27 января 2010 года Oracle приобрела Sun Microsystems за 7,4 млрд долларов[6] и включила MySQL в свою линейку СУБД[7].</p>
<p>Сообществом разработчиков MySQL созданы различные форки кода, такие как Drizzle[англ.], OurDelta, Percona Server и MariaDB. Все эти форки уже существовали на момент поглощения компании Sun корпорацией Oracle.</p>
<p><strong>PHP</strong></p>
<p>PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально PHP/FI (Personal Home Page / Form Interpreter), а позже названный Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.</p>
<p>Язык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.</p>
<p>В области веб-программирования, в частности, серверной части, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).</p>
<p>Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений[16]. Основные из них:</p>
<p>Автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;</p>
<p>Взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle Database (OCI8), Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird и InterBase, Paradox File Access, MaxDB, интерфейс PDO, Redis);</p>
<p>Автоматизированная отправка HTTP-заголовков;</p>
<p>Работа с HTTP-авторизацией;</p>
<p>Работа с cookies и сессиями;</p>
<p>Работа с локальными и удалёнными файлами, сокетами;</p>
<p>Обработка файлов, загружаемых на сервер;</p>
<p>Работа с XForms.</p>
<p>Создание и работа с API</p>
<p>Создание приложение с графическим интерфейсом пользователя при использовании фреймворка Qt Designer</p>
<p>Создание консольных приложений</p>
<p>По состоянию на 2022 год используется сотнями тысяч разработчиков; согласно рейтингу корпорации TIOBE, базирующемуся на данных поисковых систем, в декабре 2022 года PHP находился на 10 месте по популярности среди языков программирования.</p>
<p>Входит в LAMP — распространённый набор ПО для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP), а также LEMP — не менее распространённый набор ПО (Linux, Nginx, MySQL, PHP).</p>
<p>Среди сайтов, использующих PHP — Facebook, Wikipedia, Yahoo!, Baidu.</p>
<p>Также, на PHP написаны такие системы управления сайтами (CMS) и фреймворки (CMF), как Drupal, Joomla, Laravel, Symfony, WordPress, Yii и другие.</p>
<p><strong>Инструменты веб-разработки</strong></p>
<p><strong>HTML</strong></p>
<p>HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.</p>
<p>Элементы HTML являются строительными блоками HTML страниц. С помощью HTML разные конструкции, изображения и другие объекты, такие как интерактивная веб-форма, могут быть встроены в отображаемую страницу. HTML предоставляет средства для создания заголовков, абзацев, списков, ссылок, цитат и других элементов. Элементы HTML выделяются тегами, записанными с использованием угловых скобок. Такие теги, как &lt;img&gt; и &lt;input&gt;, напрямую вводят контент на страницу. Другие теги, такие как &lt;p&gt;, окружают и оформляют текст внутри себя и могут включать другие теги в качестве подэлементов. Браузеры не отображают HTML-теги, но используют их для интерпретации содержимого страницы.</p>
<p>Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.</p>
<p>В HTML можно встроить язык программирования JavaScript с помощью тега.</p>
<p>Также включение CSS в HTML позволяет задавать внешний вид и макет страницы.</p>
<p><strong>CSS</strong></p>
<p>CSS (англ. Cascading Style Sheets «каскадные таблицы стилей») — формальный язык декодирования и описания внешнего вида документа (веб-страницы), написанного с использованием языка разметки (чаще всего HTML или XHTML). Также может применяться к любым XML-документам, например, к SVG или XUL.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/06/102204/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>Разработка интерактивной формы заказа блюд с использованием 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>
