PHP и JavaScriptСовместное использование PHP и JavaScriptРазместил на этой странице примеры написания кода, и результаты совместного использования двух самых основных языков программирования: PHP и JavaScript. Такое позволяет взаимодействовать с сервером БЕЗ перезагрузки страниц. Иногда с частичной перезагрузкой. Всё происходит здесь, на этой странице, т.е. совершенно без участия и загрузки отдельного "файла-обработчика". Код, написанный по этой технологии, всегда состоит из двух частей. Одна из них выполняется в браузере (JavaScript), а вторая (PHP) на сервере. Для передачи данных (т.е. значений переменных) из одного языка программирования в скрипты другого, и существует такая отличная технология совместного использования PHP и JavaScript. *Prim. Главное(!), что с помощью такого, пусть способа, возможно собирать очень интересные и полезные программные конструкции для сайтов. Сначала самый простой пример работы и написания скрипта. Передача данных из кода PHP в код JavaScriptПробовал слово "Вася" взять в переменную в коде PHP, и передать её значение для вывода в код JavaScript. Видно, что всё прошло "на ура"! Даже цвет и размер шрифта передался. **Сама переменная никогда и никуда НЕ передаётся, и передаваться НЕ может. Пример написания.* P.S.* Работает и БЕЗ(!) создания глобальной переменной var, но всё же так, как сделал, будет правильнее. Передача данных из JavaScript в код PHPТеперь пробую Н А О Б О Р О Т. Разница есть! Этот способ немного отличается. Ведь JavaScript - клиентский скрипт, т.е. исполняемый у нас в браузере компьютера, а PHP - серверный. Поэтому, просто так, как в верхнем примере, сделать уже "не прокатит". Нужно прописать метод. Иначе работать не будет! Чаще всего используются методы: GET (для ссылок) и POST (для форм). Из JavaScript в код PHP (методом GET)По сути - всё то же самое. Принцип один(!): прописываем текст, его цвет и размер в "чистом" коде JavaScript, а после средствами PHP создаём команду вывода на языке JavaScript, используя оператор вывода языка PHP echo. Видно, что здесь тоже всё прошло отлично! Пример написания.* Ниже пример совместной работы двух языков программирования по второму методу. Из JavaScript в код PHP (методом POST)Дальше не стал выводить на экран монитора примеры написания использованных языковых конструкций. Всё абсолютно то же самое! Разница только, что вместо "вытаскивания" из глобального массива $_GET, прописываем $_POST. И всё! Результат работы кода ниже. Показал самые простые примеры совместного использования (один внутри другого) двух языков программирования.
**Очень важно! Быть внимательнее с синтаксисом! Дальше покажу более сложные, наглядные примеры, которые позволяют себя опробовать прямо на этой странице. Примеры практического использованияПрежде всего, такую технологию используют для программирования простых действий: выбрать что-либо, добавить в корзину интернет-магазина, подписаться, вывести какие-нибудь данные и т.д., и т.п.. Из JavaScript в PHP (метод POST)Выделил нижнюю пробную форму голубоватым фоном, чтоб не путалась с остальным содержанием страницы. Можно ввести свой текст. Максимальное количество символов: 20 Не забывать! Пробел тоже символ! Подробнее об особенностях работы такой формы - под ней. Передано в PHP-код: Как уже писал, тестовая форма после клика по кнопке "Подача запроса" исчезает. Так и должно быть. Так я прописал в её коде. Есть ещё один интересный пример практического использования. Изменение данных с помощью AJAXТехнология AJAX, несмотря на своё название "Asynchronous Javascript And Xml", может работать не только с файлами XML, а с разным типом. Испытывая её неоднократно во время изучения, пробовал получать данные из файлов разных форматов: .htm .html .php .json, и даже простого .txt *Работают! Проверял файл ajax.txt на сервере сайта, но оказалось, что содержание гораздо проще и лучше всего(!) менять, получая данные из файлов с форматом .htm К примеру, нижний тестовый блок получает их из ajax.htm Позволить коду по технологии AJAX изменить содержание этого пробного блока? Для повторного испытания работы скрипта, нужно просто обновить страницу, как обычно, через кнопку верхней панели управления. *Prim. Если вдруг компьютер снова начнёт задавать вопросы, значит - после проверки предыдущего кода страница НЕ была перезагружена, как было нужно. * * * Показанный пример использования технологии AJAX для обмена данными между двумя файлами хорош(!), конечно. Так можно передавать многое: не только текст, но и картинки, ссылки. К тому же(!), входящий файл начинает "понимать" стиль CSS этой страницы, хотя сам он абсолютно "голый". Главное! При внесении изменений во входящий файл, НЕ ЗАБЫТЬ(!) обратиться к нему "напрямую", чтобы изменения вступили в силу. Интересный пример. Всё так. Здорово! ... ... ... НО! Он гораздо "хитрее" по своему устройству, чем все показанные до него примеры. Да, и не только это. Пришлось текстовую информацию написать на английском языке. Русские символы верно показывал только Internet Explorer 8. Однако, самое главное "НО!" не в этом, а в том, что попытки создать и использовать ещё один тестовый блок (подобный показанному) на этой же странице
ни к чему хорошему не привели. Оно и понятно! Нагрузка на сервер значительно возросла. Поэтому, хоть последний показанный способ обмена данными и интересен, но мне всё же больше нравятся простые. Те, что показывал ДО него. Тем не менее! В заключение маленькое дополнение о похожих способах изменения данных. ДополнениеПоследний показанный пример внешне очень похож на те, что я показывал в большом разделе, посвящённом изучению JavaScript на странице "Спойлеры" (откроется в новом окне). Однако, это именно внешне! Здесь же страница ничего не знает (до клика по кнопке) о содержании подключённого к ней файла. Синяя стрелка вернёт на общую, главную страницу выбора тем: "Изучение PHP". |
Все права защищены. Copyright © 2009 - Коротеев Владимир.