Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot:exp61 [2020/06/19 10:56] – labuser29 | products:laboratory_iot:exp61 [2024/12/06 16:33] (текущий) – labuser30 |
---|
===== Эксперимент 61. Подмена данных в веб- странице ===== | ===== Эксперимент 61. Подмена данных в веб-странице ===== |
| |
В прошлом эксперименте мы научились создавать простые веб- страницы с формой для отправки данных на сервер. На странице было текстовое поле, в которое можно было ввести значение от 0 до 1023. После ввода числа и нажатия на кнопку Send проиходила отправка данных из формы на сервер. Сервер принимал эти данные, изменял состояние светодиода, вновь считывал из файла page.html содержимое и вновь отправлял его в браузер клиенту. Таким образом после отправки данных сервер отправлял нам ту же самую страницу и мы могли ввести новое значение в текстовое поле и снова отправить. | В прошлом эксперименте мы научились создавать простые веб-страницы с формой для отправки данных на сервер. На странице было текстовое поле, в которое можно было ввести значение от 0 до 1023. После ввода числа и нажатия на кнопку Send происходила отправка данных из формы на сервер. Сервер принимал эти данные, изменял состояние светодиода, вновь считывал из файла page.html содержимое и вновь отправлял его в браузер клиенту. Таким образом после отправки данных сервер отправлял нам ту же самую страницу и мы могли ввести новое значение в текстовое поле и снова отправить. |
| |
Все хорошо, кроме одного- страница каждый раз загружалась в браузер в своем первозданном виде. В ней мы изначально прописали значение текстового поля по- умолчанию 512. И каждый раз после отправки данных в текстовом поле снова находилось число 512 вне зависимости от того что мы туда вводили. Это не очень удобно. Было бы здорово, если бы после ввода числа и отправки формы нам возвращалась бы страница с тем числом, которые мы ввели туда в прошлый раз. Это позволило бы нам видеть текущее значение яркости светодиода. | Все хорошо, кроме одного — страница каждый раз загружалась в браузер в своем первозданном виде. В ней мы изначально прописали значение текстового поля по- умолчанию 512. И каждый раз после отправки данных в текстовом поле снова находилось число 512 вне зависимости от того что мы туда вводили. Это не очень удобно. Было бы здорово, если бы после ввода числа и отправки формы нам возвращалась бы страница с тем числом, которые мы ввели туда в прошлый раз. Это позволило бы нам видеть текущее значение яркости светодиода. |
| |
Чтобы это сделать нам необходимо заменять данные в веб странице. Изначально мы прописали в ней жестко | Чтобы это сделать нам необходимо заменять данные в веб странице. Изначально мы прописали в ней жестко |
</html> | </html> |
</file> | </file> |
| |
Как видно, мы заменили жестко прописанное число 512 на метку ''<=VALUE=>''. Теперь перед выводом этой страницы в браузер нам нужно произодвить поиск с ее тексте ''<=VALUE=>'' и замену этой метки на реальное число. | |
| |
<WRAP center round important 60%> | <WRAP center round important 60%> |
Сохрани эту страницу в корне файловой системы микроконтроллера под именем page2.html | Сохрани эту страницу в корне файловой системы микроконтроллера под именем page2.html |
</WRAP> | </WRAP> |
| |
| Как видно, мы заменили жестко прописанное число 512 на метку ''<=VALUE=>''. Теперь перед выводом этой страницы в браузер нам нужно производить поиск с ее тексте ''<=VALUE=>'' и замену этой метки на реальное число. |
| |
Теперь новый код программы: | Теперь новый код программы: |
| |
<WRAP center round important 60%> | <WRAP center round important 60%> |
Первым делом в коде программы нужно заменить ''Wi-Fi_Name'' на имя нужной ести, а ''Wi-Fi_Password'' на пароль от нее. | Первым делом в коде программы нужно заменить ''Wi-Fi_Name'' на имя нужной сети, а ''Wi-Fi_Password'' на пароль от нее. |
</WRAP> | </WRAP> |
| |
</code> | </code> |
| |
Для замены метки на данные мы применили оператор ''replace(что_меняем, на_что_меняем)''. Теперь после отправки данных из формы нам вернется веб- страница с таким же значением, которое мы вводили перед отправкой. | Для замены метки на данные мы применили оператор ''replace(что_меняем, на_что_меняем)''. Теперь после отправки данных из формы нам вернется веб-страница с таким же значением, которое мы вводили перед отправкой. |