Передача значений переменной из PHP в JavaScript. Передача значений переменных из JavaScript в PHP и обратно Как вывести значение переменной в php на экран
Песочница
Лунтик 3 января 2014 в 16:00 Передача значений переменной из PHP в JavaScript- HTML ,
- JavaScript ,
- PHP
Здравствуйте уважаемые читатели. За ранее хочу сказать, что это мой первый пост и не судите очень строго.
Сегодня пост будет посвящен передачи значений переменной PHP в JavaScript - сценарий.
Этот урок подойдет самым новичкам, тем кто только начинает заниматься Web - программированием.
Для начала создадим обычный документ index.php и его каркасом будет служить простой HTML код.
Работа с переменными
Весь код JavaScript
и PHP
будем писать в теги BODY
.
PHP переменная $CITY будет равна «Ivanovo». Значение этой переменной нам нужно передать в переменную TOWN JavaScript`a.
Давайте теперь напишем следующий код в файле index.php:
var TOWN = "";
document.write("Город невест и молодежи: " + TOWN);
И так рассмотрим выше приведенный нами программный код. У нас есть PHP-переменная с именем CITY и значением Ivanovo, и наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript.
Для этого мы как обычно открываем теги JavaScript и объявляем переменную TOWN.
На месте присвоения JavaScript переменной TOWN, мы пишем PHP код, который выводит нашу переменную CITY.
Наступило время проверить наш код в действии.
Наш браузер выдал нам следующее:
Город невест и молодежи: Ivanovo
При просмотре исходного кода страницы мы увидим:
Из всего выше перечисленного делаем вывод, что передавать переменную из PHP в JavaScript очень просто.
Спасибо за внимание, с вами был DangerPro
Теги: web - программирование, HTML, PHP, javascript
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит
Reg.ru: домены и хостинг
Крупнейший регистратор и хостинг-провайдер в России.
Более 2 миллионов доменных имен на обслуживании.
Продвижение, почта для домена, решения для бизнеса.
Более 700 тыс. клиентов по всему миру уже сделали свой выбор.
Фреймворк Bootstrap: быстрая адаптивная вёрстка
Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.
Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.
Верстайте на заказ и получайте деньги.
Бесплатный курс "Сайт на WordPress"
Хотите освоить CMS WordPress?
Получите уроки по дизайну и верстке сайта на WordPress.
Научитесь работать с темами и нарезать макет.
Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!
*Наведите курсор мыши для приостановки прокрутки.
Назад Вперед
Передача значений переменных из JavaScript в PHP и обратноВ этой небольшой статье мы рассмотрим с вами один интересный момент, касающийся передачи значений переменных.
Иногда возникает необходимость использовать значение PHP-переменной в JavaScript-сценарии , либо наоборот: есть JavaScript-переменная, значение которой нам нужно использовать в PHP-скрипте .
В этом уроке мы рассмотрим простые примеры, которые позволят вам понять общий механизм того, как это можно реализовать.
Для определенности, предлагаю вам создать на локальном компьютере хост с именем php_js и разместить там файл index.php , в котором мы и будем рассматривать наши примеры.
Каркасом файла index.php будет простая HTML-разметка:
Передача значений переменных
Для большей наглядности весь код (включая JavaScript) мы будем писать внутри тэгов body .
1. Передача значения PHP-переменной в JavaScript
Давайте напишем такой код в тэге body :
1. Из PHP в JavaScript:
var userName = ""; document.write("Значение PHP-переменной: " + userName);Итак, у нас есть PHP-переменная с именем name и значением Юрий , и наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript.
Для этого мы открываем как обычно блок JavaScript-кода и внутри него объявляем переменную с произвольным именем (в нашем случае - userName ). Теперь мы этой переменной присваиваем в качестве значения результат работы оператора echo применительно к переменной name .
Как вы видите, мы делаем это в блоке PHP-кода, который открываем и закрываем в пределах одинарных кавычек, обрамляющих строковое значение переменной userName в JavaScript-сценарии.
Таким образом, мы с помощью языка PHP формируем синтаксически верный код JavaScript, который будет корректно выполнен.
В результате выполнения этой строки в переменную userName попадет значение Юрий .
Вот и все. Значение PHP-переменной name было передано в JavaScript-переменную userName .
Теперь нам нужно только убедиться, что в нашей JavaScript-переменной userName хранится ожидаемое значение. Для этого мы выводим значение данной переменной на экран с помощью document.write .
2. Передача значения JavaScript-переменной в PHP (метод GET)
Здесь, как вы понимаете, ситуация у нас обратная. В наличии есть JavaScript-переменная, и ее значение нужно каким-то образом передать в PHP-сценарий.
Понятно, что эта задача несколько сложнее, ведь если в первом случае (передача значения PHP-переменной в JavaScript) у нас уже была PHP-переменная, значение которой мы просто вывели внутри JavaScript-кода, то здесь такой вариант не пройдет.
Ведь PHP-скрипт ничего не знает о том, что у нас создана некая JavaScript-переменная. И не узнает он об этом до тех пор, пока мы не отправим серверу GET или POST-запрос, в котором будет фигурировать значение JavaScript-переменной.
Вот тогда, уже на следующем запросе, мы сможем получить доступ к значению этой JavaScript-переменной из PHP-сценария.
Под уже существующим кодом допишем следующее:
2. Из JavaScript в PHP (метод GET):
var userName2 = "Дмитрий";Внутри блока JavaScript-кода мы создаем переменную userName2 со значением Дмитрий .
Здесь наша задача состоит в том, чтобы средствами PHP создать корректный JavaScript-сценарий, который перезагрузит текущую страницу и одновременно с этим передаст файлу index.php через адресную строку (т.е. методом GET) значение, содержащееся в JavaScript-переменной userName2 .
Для этого мы выводим на страницу открывающий блок JavaScript-кода с помощью опрератора echo , внутри которого задаем средствами JavaScript перезагрузку текущей страницы (document.location.href ).
В качестве адреса страницы мы используем значение элемента REQUEST_URI из глобального массива $_SERVER и добавляем к нему параметр с именем u_name и значением, равным значению переменной userName2 .
В итоге наша условная конструкция if-else работает следующим образом:
1. Если при обращении к странице index.php в глобальном массиве $_GET есть элемент с индексом u_name (т.е. успешно сработала переадресация средствами JavaScript), то мы выводим на экран значение переданной JavaScript-переменной.
2. Если же при обращении к странице index.php в глобальном массиве $_GET нет элемента с индексом u_name , то запускается JavaScript-сценарий, выведенный средствами PHP и производит переадресацию на эту же страницу, но уже с параметром u_name , имеющим значение переменной userName2 (об этом мы говорили чуть выше).
Теперь, при обращении к index.php мы получим вот такой результат:
Как видите, в адресну строку средствами JavaScript мы передали значение переменной userName2 . Вследствие этого в массиве $_GET появился элемент с индексом u_name и значением Дмитрий .
Задача решена, и теперь мы можем как угодно манипулировать полученным значением в рамках PHP-сценария, что мы и сделали, воспользовашись выводом на экран значения элемента u_name из массива $_GET .
В исходном коде сформированной страницы мы увидим при этом следующую картину:
С этим моментом мы также разобрались, и остался еще один вариант.
3. Передача значения JavaScript-переменной в PHP (метод POST)
В предыдущем примере мы рассмотрели способ передачи значения с использованием адресной строки браузера (методом GET ).
Сейчас же мы рассмотрим вариант с передачей значения без использования адресной строки, т.е. методом POST .
В этом примере мы будем использовать форму для того, чтобы отправить данные на сервер методом POST .
Под уже существующим кодом напишем:
3. Из JavaScript в PHP (метод POST):
var userName3 = "Александр";Значение JavaScript-переменной:
Начало у нас похожее: в блоке JavaScript-кода мы объявляем переменную с именем userName3 и значением Александр .
После этого переходим к PHP-коду. Мы видим, что в ветке if проверяется существование в глобальном массиве $_POST элемента с индексом u_name .
Если данный элемент будет найден, то он будет выведен на экран и будет закрыт тэг параграфа для всего предложения.
В случае отстутствия данного элемента в массиве $_POST управление передается ветке else .
Для этого мы выводим на страницу открывающий и закрывающий блоки JavaScript-кода с помощью опрератора echo , и внутри них формируем синтаксически верный JavaScript-код.
Наша задача сводится к тому, чтобы, используя команду вывода document.write в JavaScript, вывести на страницу обычную HTML-форму и подставить в единственное ее текстовое поле с именем u_name значение, которое хранится в переменной userName3 (Александр).
Самое сложное здесь - не запутаться в кавычках и их экранировании.
Именно поэтому перед написанием подобных скриптов я рекомендую вам сперва создать отдельный файл и написать в нем чистый JavaScript-код , который бы выводил форму и подставлял в поле значение переменной userName3 .
Когда вы с этим справитесь, то можете возвращаться к исходному файлу и задача ваша будет заключаться в том, чтобы в точности вывести тот код, который вы написали чуть раньше. На этот раз - уже средствами PHP.
Именно это мы и делаем в ветке else . Обратите внимание, что текст для вывода (предназначенный для оператора echo ) заключен в двойные кавычки. Соответственно, для конструкции document.write мы используем одинарные кавычки.
Это обстоятельство приводит к тому, что нам нужно проэкранировать все символы одинарных кавычек, которые находятся между открывающими и закрывающими одинарными кавычками, ограничивающими вывод строки для конструкции document.write .
Если сейчас обратиться к странице index.php , то результат будет следующий:
Как вы видите, после фразы "Значение JavaScript-переменной:" идет пустота, т.е. пока еще PHP-сценарий не получил значение JavaScript-переменной userName3 . И это понятно - ведь еще не было запроса к серверу, в котором могла быть передана эта информация.
При этом ниже в форме у нас находится слово Александр - как раз значение JavaScript-переменной userName3 .
Мы вставили его сюда как раз для того, чтобы отправлить форму и передать значение этой переменной методом POST нашему текущему скрипту index.php (если атрибут action отсутствует, то данные будут переданы текущему скрипту).
После нажатия на кнопку отправки мы увидим такую картину:
Теперь форма у нас исчезла, т.к. уже отрабатывает ветка if , и вместо нее выводится значение переменной.
Ну что ж, с этой задачей мы тоже справились - значение JavaScript-переменной userName3 мы передали в PHP-скрипт и вывели его на экран из массива $_POST .
На этом данную небольшую статью я завершаю. Очень надеюсь, что она поможет вам понять базовые принципы передачи значений переменных из JavaScript в PHP и обратно.
Заметка: активирована адаптивная версия сайта, которая автоматически подстраивается под небольшой размер Вашего браузера и скрывает некоторые детали сайта для удобства чтения. Приятного просмотра!
Здравствуйте, дорогие читатели, а в скором времени и PHP разработчики;) Сегодняшняя статья блога Site on! посвящена основам PHP: особенностям синтаксиса, выводу данных, переменным, а также работе с ошибками. По ходу цикла уроков по PHP я попытаюсь рассказать вам как можно больше всего интересного и полезного, при этом стараясь не растягивать статьи.
PHP блокиПервое, что вы должны знать, это то, что PHP код всегда должен быть заключён в PHP теги:
Также можно использовать:
Первое , каждая инструкция (выражение) должна заканчиваться точкой с запятой; Например:
Второе , всё то же самое можно записать и в одну строку, между инструкциями в одной строке можно ставить сколько угодно пробелов, в том числе и вовсе без пробелов:
Третье , PHP инструкция может быть разорвана на несколько строк:
Результат:
Мы наблюдаем, что браузер интерпретировал каждый перевод строки как обычный пробел, чего и требовалось ожидать.
Четвёртое , в PHP как и во всех языках программирования есть комментарии. В PHP их 2 вида: однострочные и многострочные.
// - однострочный комментарий # - это тоже однострочный комментарий /* Ваш комментарий */ - многострочный комментарийБытует мнение, что у правильного программиста комментарии должны составлять 30% от всего кода. Однако избыточность комментариев тоже совсем не к чему, не стоит оставлять комментарии по типу «здесь я посмотрел в окно и почесал нос».
Вывод данных в PHPВывод данных в языке программирования PHP осуществляется по средствам двух основных языковых конструкций:
Разница в том, что по выполнению print возвращает единицу, а echo ничего не возвращает. Если не знаете, как именно вам это использовать, то пользуйтесь echo и не заморачивайтесь, тем более при использовании echo можно делать так:
Так что помимо того, что эхо само по себе короче принта на 1 символ, оно ещё позволяет и более коротко записывать выводимые конструкции. Каждая запятая в примере выше имитирует новый вызов эхо. Другими словами мы трижды вызвали эхо, вместо того чтобы каждый раз писать: echo echo echo, как делали это в случае с принтом.
Между прочим, тоже самое можно было записать и так:
Это я и имел ввиду в предыдущей статье, когда упоминал о том, что .
Переменные в любом языке программирования служат для хранения внутри себя какой-либо информации, то есть переменная – это наш сосуд. Мы можем положить туда сначала одно, потом убрать первое положить второе, а можем оставить первое и доложить ещё второе (и третье и тд.).
Переменные в PHP начинаются очень символично - со знака доллара $, после которого БЕЗ пробела должна идти либо латинская буква, либо символ подчёркивания (цифра не может быть первым символом в названии переменной). Далее в имени переменной могут присутствовать как латинские буквы, так и цифры, и всё тот же символ подчёркивания. Например:
Результат:
Имена переменных чувствительны к регистру! То есть $Name, $naMe, $name – три совершенно разных переменных. Если мы в уже существующую переменную захотим положить что-то новое, то старое значение этой переменной автоматически сотрется:
Результат:
Естественно, мы можем передавать значение одной переменной в другую:
Результат:
При этом значение переменной $_blog1 осталось в ней.
В отличие от строк, при занесении в переменную числа – кавычки не нужны:
$name = 45;
Как и при занесении переменной в переменную:
$name = $_blog1;
После окончания кода на странице все переменные PHP автоматически удаляются. Но бывают редкие случаи, когда нам нужно принудительно удалить переменную до того как закончится код. Для этого служит функция unset :
Результат:
Работа с ошибками в PHPВот мы плавно и перешли к теме ошибок в PHP. Как видите, мы обращаемся к переменной $name , которую перед этим безжалостно удалили – это и привело к замечанию (Notice). Notice нужно считать самой настоящей ошибкой, хотя в большинстве случаев он абсолютно безвредный.
PHP даже пытается нам подсказать, где и какую именно ошибку мы допустили. В нашем случае он пишет:
Undefined variable: name
Что переводится как «неопределённая переменная: name» и дальше показывает нам файл и строчку, на которой все это происшествие и случилось:
In Z:\home\localhost\www\blog2\second-page.php on line 10
То есть в файле second-page.php на строке 10 . В данном случае PHP угадал, однако часто бывает, что ошибка находится на одну или несколько строчек выше, например, когда мы забываем поставить точку с запятой в конце очередной инструкции: