Как передать значение переменной php в javascript

Как передать значение переменной PHP в JavaScript

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Всеми привет. Если вы мало-мальски делаете проекты для web, то наверняка сталкивались с задачей передать значение переменной из PHP в JavaScript. На первый взгляд нет абсолютно никаких трудностей, чтобы это сделать, если у вас небольшой кусок JS кода и вы его встраиваете напрямую в HTML. Давайте посмотрим.

Вы можете проверить, таким образом можно передать PHP переменную в JS, Вернее ее значение. Но такой способ не сработает, если JS код вынесен в отдельный файл. PHP переменные в этом файле работать не будут.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Передать переменную из PHP в отдельный JavaScript файл

Способов это сделать на самом деле несколько. Я покажу один из самых простых. Принцип такой: мы создаем на странице элемент, например div с любым классом и дата-атрибутом, в который и помещаем PHP переменную. Затем в JavaScript обращаемся к этому атрибуту и получаем его значение. Я думаю вы уже поняли как это работает. Давайте разберемся на примере.

var dataPphp = document.querySelector(‘.data-php’).getAttribute(‘data-attr’); alert(dataPhp);

Более короткий вариант с jQuery

Такой способ отлично работает и многократно был проверен на практике с реальными данными. Если необходимо передать несколько значений переменных в JS, то просто добавьте столько атрибутов, сколько необходимо. Только не забудьте дать им разные имена. Достаточно будет просто пронумеровать или дать осмысленные названия. И в JavaScript создать переменную для каждого атрибута. На этом все. Теперь вы знаете как передавать значение переменой из PHP а JavaScript. А здесь вы узнаете как передавать данные обратно.

Источник

Как передать значение переменной php в javascript

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Что нужно знать для создания PHP-сайтов?

Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.

Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!

Создайте свой сайт за 3 часа и 30 минут.

После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.

Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).

Изучите основы HTML и CSS менее чем за 4 часа.

После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.

Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Хотите изучить JavaScript, но не знаете, как подступиться?

После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.

Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.

*Наведите курсор мыши для приостановки прокрутки.

Передача значений переменных из JavaScript в PHP и обратно

В этой небольшой статье мы рассмотрим с вами один интересный момент, касающийся передачи значений переменных.

Иногда возникает необходимость использовать значение PHP-переменной в JavaScript-сценарии, либо наоборот: есть JavaScript-переменная, значение которой нам нужно использовать в PHP-скрипте.

В этом уроке мы рассмотрим простые примеры, которые позволят вам понять общий механизм того, как это можно реализовать.

Для определенности, предлагаю вам создать на локальном компьютере хост с именем php_js и разместить там файл index.php, в котором мы и будем рассматривать наши примеры.

Каркасом файла index.php будет простая HTML-разметка:

Для большей наглядности весь код (включая JavaScript) мы будем писать внутри тэгов body.

1. Передача значения PHP-переменной в JavaScript

Давайте напишем такой код в тэге body:

Итак, у нас есть PHP-переменная с именем name и значением Юрий, и наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как вы видите, мы делаем это в блоке PHP-кода, который открываем и закрываем в пределах одинарных кавычек, обрамляющих строковое значение переменной userName в JavaScript-сценарии.

Таким образом, мы с помощью языка PHP формируем синтаксически верный код JavaScript, который будет корректно выполнен.

В результате выполнения этой строки в переменную userName попадет значение Юрий.

Вот и все. Значение PHP-переменной name было передано в JavaScript-переменную userName.

Теперь нам нужно только убедиться, что в нашей JavaScript-переменной userName хранится ожидаемое значение. Для этого мы выводим значение данной переменной на экран с помощью document.write.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

В исходном коде сформированной страницы мы увидим при этом следующую картину:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

На этом здесь все, и мы можем двигаться дальше.

2. Передача значения JavaScript-переменной в PHP (метод GET)

Здесь, как вы понимаете, ситуация у нас обратная. В наличии есть JavaScript-переменная, и ее значение нужно каким-то образом передать в PHP-сценарий.

Понятно, что эта задача несколько сложнее, ведь если в первом случае (передача значения PHP-переменной в JavaScript) у нас уже была PHP-переменная, значение которой мы просто вывели внутри JavaScript-кода, то здесь такой вариант не пройдет.

Ведь PHP-скрипт ничего не знает о том, что у нас создана некая JavaScript-переменная. И не узнает он об этом до тех пор, пока мы не отправим серверу GET или POST-запрос, в котором будет фигурировать значение JavaScript-переменной.

Вот тогда, уже на следующем запросе, мы сможем получить доступ к значению этой JavaScript-переменной из PHP-сценария.

Под уже существующим кодом допишем следующее:

Внутри блока JavaScript-кода мы создаем переменную userName2 со значением Дмитрий.

Далее работа идет внутри блока PHP-кода.

Здесь наша задача состоит в том, чтобы средствами PHP создать корректный JavaScript-сценарий, который перезагрузит текущую страницу и одновременно с этим передаст файлу index.php через адресную строку (т.е. методом GET) значение, содержащееся в JavaScript-переменной userName2.

Для этого мы выводим на страницу открывающий блок JavaScript-кода с помощью опрератора echo, внутри которого задаем средствами JavaScript перезагрузку текущей страницы (document.location.href).

В качестве адреса страницы мы используем значение элемента REQUEST_URI из глобального массива $_SERVER и добавляем к нему параметр с именем u_name и значением, равным значению переменной userName2.

В итоге наша условная конструкция if-else работает следующим образом:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

1. Если при обращении к странице index.php в глобальном массиве $_GET есть элемент с индексом u_name (т.е. успешно сработала переадресация средствами JavaScript), то мы выводим на экран значение переданной JavaScript-переменной.

2. Если же при обращении к странице index.php в глобальном массиве $_GET нет элемента с индексом u_name, то запускается JavaScript-сценарий, выведенный средствами PHP и производит переадресацию на эту же страницу, но уже с параметром u_name, имеющим значение переменной userName2 (об этом мы говорили чуть выше).

Теперь, при обращении к index.php мы получим вот такой результат:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как видите, в адресну строку средствами JavaScript мы передали значение переменной userName2. Вследствие этого в массиве $_GET появился элемент с индексом u_name и значением Дмитрий.

Задача решена, и теперь мы можем как угодно манипулировать полученным значением в рамках PHP-сценария, что мы и сделали, воспользовашись выводом на экран значения элемента u_name из массива $_GET.

В исходном коде сформированной страницы мы увидим при этом следующую картину:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

С этим моментом мы также разобрались, и остался еще один вариант.

3. Передача значения JavaScript-переменной в PHP (метод POST)

В предыдущем примере мы рассмотрели способ передачи значения с использованием адресной строки браузера (методом GET).

Сейчас же мы рассмотрим вариант с передачей значения без использования адресной строки, т.е. методом POST.

В этом примере мы будем использовать форму для того, чтобы отправить данные на сервер методом POST.

Под уже существующим кодом напишем:

Начало у нас похожее: в блоке JavaScript-кода мы объявляем переменную с именем userName3 и значением Александр.

Далее мы открываем тэг параграфа для того, чтобы внутри него вывелось значение JavaScript-переменной.

После этого переходим к PHP-коду. Мы видим, что в ветке if проверяется существование в глобальном массиве $_POST элемента с индексом u_name.

Если данный элемент будет найден, то он будет выведен на экран и будет закрыт тэг параграфа для всего предложения.

В случае отстутствия данного элемента в массиве $_POST управление передается ветке else.

Для этого мы выводим на страницу открывающий и закрывающий блоки JavaScript-кода с помощью опрератора echo, и внутри них формируем синтаксически верный JavaScript-код.

Наша задача сводится к тому, чтобы, используя команду вывода document.write в JavaScript, вывести на страницу обычную HTML-форму и подставить в единственное ее текстовое поле с именем u_name значение, которое хранится в переменной userName3 (Александр).

Именно поэтому перед написанием подобных скриптов я рекомендую вам сперва создать отдельный файл и написать в нем чистый JavaScript-код, который бы выводил форму и подставлял в поле значение переменной userName3.

Именно это мы и делаем в ветке else. Обратите внимание, что текст для вывода (предназначенный для оператора echo) заключен в двойные кавычки. Соответственно, для конструкции document.write мы используем одинарные кавычки.

Это обстоятельство приводит к тому, что нам нужно проэкранировать все символы одинарных кавычек, которые находятся между открывающими и закрывающими одинарными кавычками, ограничивающими вывод строки для конструкции document.write.

Если сейчас обратиться к странице index.php, то результат будет следующий:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Мы вставили его сюда как раз для того, чтобы отправлить форму и передать значение этой переменной методом POST нашему текущему скрипту index.php (если атрибут action отсутствует, то данные будут переданы текущему скрипту).

После нажатия на кнопку отправки мы увидим такую картину:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Теперь форма у нас исчезла, т.к. уже отрабатывает ветка if, и вместо нее выводится значение переменной.

На этом данную небольшую статью я завершаю. Очень надеюсь, что она поможет вам понять базовые принципы передачи значений переменных из JavaScript в PHP и обратно.

С уважением, Дмитрий Науменко.

P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, включая JavaScript, jQuery и Ajax, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще освоить практические навыки веб-программирования:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

Источник

Передача значений переменных из JavaScript в PHP и наоборот

Дата публикации: 2014-01-21

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

От автора: в данное время практически каждый сайт использует язык JavaScript и различные библиотеки написанные на нем, к примеру jQuery. И очень часто возникает задача в передаче значений переменных из JavaScript в PHP. Поэтому в данном уроке мы с Вами рассмотрим способы, при помощи которых, можно решить данную задачу. Хочу обратить внимание, что передать можно только значение, а не саму переменную, определенного языка.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascriptКак передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

1. Постановка задачи

Для начала рассмотрим сайт, на примере которого, мы будем изучать тему сегодняшнего урока:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Это очень простой сайт, состоящий из двух страниц: главная страница, выводит список статей хранящихся в базе данных, и страница полного просмотра текста статьи. Исходный код данного сайта, я здесь приводить не буду, так как он будет доступен Вам в исходниках к этому уроку. Рассмотрим только назначение главных файлов:

index.php – подключает необходимые файлы и выводит главную страницу на экран;

view_text.php – выводит страницу просмотра полного текста статьи;

config.php – содержит настройки для подключения к базе данных и собственной само подключение;

funcntions.php – содержит две функции по получению всех статей из базы данных и получению одной конкретной статьи по ее идентификатору;

js/script – пустой файл, в котором мы будем писать скрипты на языке JavaScript;

css/style.css – файл стилей для сайта.

Теперь давайте рассмотрим способы передачи значений переменных из JavaScript в PHP.

2. Передача значения переменных из PHP в JavaScript

Это пожалуй самый простой способ. Давайте вспомним, где содержится интерпретатор языка JavaScript?
Интерпретатор языка JavaScript, в содержится в браузере. То есть код JavaScript обрабатывается непосредственно браузером, когда страница передается ему от сервера.

Теперь вспомним, где интерпретируется язык PHP? Интерпретатор языка PHP содержится на сервере. При этом PHP интерпретируется до того как страница попадет в браузер, пользователя. Значит, для передачи значения переменной языка PHP в язык JavaScript, достаточно между тегами script вывести значение этой переменной. К примеру, создадим переменную в конфигурационном файле config.php (переменная PHP):

Затем, в файле index.php передадим ее значение в JavaScript (перед подключением файла js/script.js):

Теперь в файле js/script.js используем значение данной переменной. А именно, создадим блок с классом for_button, в блоке

И добавим несколько правил css для нового созданного блока в файл css/style.css:

Теперь давайте посмотрим, что у нас получилось:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как Вы видите, мы создали новый блок, в виде кнопки и его содержимое формируется в переменной PHP.

3. Передача значений переменных из JavaScript в PHP методом GET

Передача значений переменных языка JavaScript в PHP, задача несколько сложнее, так как требуется передать значение переменной на сервер в интерпретатор языка PHP. Это можно реализовать как методом GET (через адресную строку), так и методом POST. Метод GET предусматривает передачу данных через адресную строку. Поэтому перейдем в файл js/script.js и добавим следующий код:

То есть, мы выберем при помощи библиотеки jQuery ранее созданную кнопку с классом for_button и опишем для нее функцию обработчик события click (нажатие мышью по данному элементу). Другими словами при нажатии мышью по кнопке выполнится функция, описанная в методе click().

В теле данной функции мы выполним перенаправление на страницу полного просмотра текста статьи. При этом через адресную строку передадим ее значение. Таким образом, мы передаем значение переменной id в файл view_text.php, то есть из JavaScript в сценарий языка PHP. Давайте посмотри, что у нас получилось (обновляем главную страницу и кликаем по ранее созданной кнопке):

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как Вы видите значение переменной успешно передано.

4. Передача значений переменных из JavaScript в PHP методом POST

Теперь рассмотрим передачу значений переменных из JavaScript в PHP при помощи метода POST. Для этого в файле index.php создадим простую форму ( в блоке с классом content):

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Обратите внимание, что значение атрибута value я оставил пустым. Мы его установим, используя JavaScript. А именно, создадим переменную search и, используя jQquery, присвоим ее значение атрибуту value текстовому полю:

То есть значение переменной search мы переносим в атрибут value, а затем остается лишь отправить данные формы.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

При этом, значение переменной search будет передано в сценарий языка PHP. Обратите внимание, что обработчиком формы выступает файл view_text.php. Значит, в него нужно добавить код, который обработает данные пришедшие методом POST. Поэтому откроем данный файл и добавим следующий код:

При этом на экран мы отобразим данные, которые пришли на данную страницу из метода POST, а значит из скрипта написанного на языке JavaScript. Дайте отправим данные формы и посмотрим, что получилось:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

5. Асинхронный способ передачи значений переменных из JavaScript в PHP и наоборот

До сих пор, мы с Вами рассматривали так называемый синхронный способ передачи данных на сервер. То есть, когда при передаче данных мы с Вами видели перезагрузку страницы в браузере, так образом на любое наше действие браузер отправляет данные на сервер, что сопровождается обновлением страницы.

Но, как Вы знаете, существует метод AJAX, используя который можно передавать асинхронные запросы на сервер. При которых, данные все также отправляются на сервер, но обновление страницы не происходит, то есть данные отправляются как бы в фоне и пользователь, этого не замечает.

Поэтому, давайте передадим значение переменной из JavaScript в PHP, используя метод AJAX (опять же значение переменной нужно оправить на сервер в интерпретатор языка PHP). Для этого откроем файл js/script.js и изменим функцию обработчик события click, по ранее созданной кнопке (будем отправлять данные на сервер по нажатию мышью по кнопке):

Для работы с AJAX используем библиотеку jQuery и ее метод ajax, со следующими параметрами:

type:’POST’ – тип запроса на сервер;

url:’index.php’ – путь к файлу на серверу, в который отправляем данные;

dataType:’json’ – формат данных, которые придут как ответ от сервера. В данном случае условимся, что сервер отправит данные в формате JSON. При этом полученная строка будет автоматически конвертирована в объект. JSON – специальный строковый формат представления данных. Используя, который можно представить любой массив или объект в виде обычной строки, с которой удобно выполнять различные манипуляции.

Пример JSON строки, описывающей объект с двумя свойствами: firstname и lastname:

data – данные которые отправляются на сервер. Обратите внимание, что на сервер мы отправим объект ob, который представим в виде JSON строки, при помощи функции JSON.stringify(ob);

success – описываем функцию которая будет выполнена в результате успешного запроса к серверу. Параметр html, данной функции – это ответ от сервера. Который должен обязательно прийти в формате JSON, в соответствии с настройкой dataType, и который будет конвертирован в объект (то есть в html содержится ответ от сервера в виде объекта). В теле данной функции, выведем на экран заголовок статьи (условимся, что ответ от сервера – это будет массив данных о конкретной статье). Для этого используем метод prependTo(), и вставим данные в блок с классом for_content. При этом добавим анимационный эффект появления данных на экране, при помощи метода fadeIn() (метод hide() необходим, что бы мгновенно скрыть выводимый на экран блок, для того что бы в последствии его можно было плавно показать на экран, используя метод fadeIn()).

Теперь, так как мы передаем данные в файл index.php, в него необходимо добавить код, который обработает эти данные:

Вот и все, можно проверять работу нашего скрипта:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Как Вы видите, Все успешно работает. Таким образом, мы с Вами передали значение переменной JavaScript в PHP и наоборот, используя асинхронные запросы к серверу.

На этом давайте прощаться. Всего Вам доброго и удачного кодирования.

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Источник

Как передать переменные и данные из PHP в JavaScript?

у меня есть переменная в PHP, и мне нужно ее значение в моем коде JavaScript. Как я могу получить переменную из PHP в JavaScript?

у меня есть код, который выглядит так:

у меня есть код JavaScript, который должен val и выглядит примерно так:

18 ответов

на самом деле существует несколько подходов к этому. Некоторые требуют больше накладных расходов, чем другие, а некоторые считаются лучше, чем другие.

в определенном порядке:

в этом посте мы рассмотрим каждый из приведенные выше методы, и посмотреть плюсы и минусы каждого, а также как их реализовать.

1. Используйте AJAX для получения необходимых данных с сервера

этот метод считается лучшим, потому что ваши серверные и клиентские скрипты полностью разделены.

плюсы

минусы

Пример Реализации

С AJAX вам нужно две страницы, одна где PHP генерирует вывод, а второй-где JavaScript получает этот вывод:

get-data.в PHP

Я собираюсь попробовать более простой ответ:

описание проблемы

во-первых, давайте разберемся в потоке событий, когда страница обслуживается с нашего сервера:

так действительно, основная вещь, чтобы помнить здесь, что HTTP не имеет состояния. Как только запрос покинул сервер, сервер не может его коснуться. Таким образом, это оставляет наши варианты:

решений

это основной вопрос, который вы должны задать себе:

я пишу веб-сайт или приложение?

Я бы не рекомендую сделать еще один запрос если ваш сайт не является приложением для получения эта информация с сервера.

у вас есть два способа решения проблемы

настройка cookie на самом деле не очень сложно, вы просто назначаете ему значение:

тут вы можете читать его с помощью JavaScript используя document.cookie :

вот короткий ручной парсер, но ответ, который я связал прямо над этим, лучше протестирован:

Cookies хороши для небольших данных. Это то, что часто делают службы отслеживания.

как только у нас будет больше данных, мы можем кодировать его с помощью JSON внутри переменной JS:

приложение

если вы пишете заявление-внезапно начальное время загрузки не всегда так важно, как текущая производительность приложения, и оно начинает окупаться для загрузки данных и кода отдельно.

мой ответ:здесь объясняет, как загружать данные с помощью AJAX в JavaScript:

теперь сервер просто должен содержать /your/url маршрут / файл, содержащий код, который захватывает данные и что-то с ним делает, в вашем случае:

этот таким образом, наш JS-файл запрашивает данные и показывает их, а не запрашивает код или макет. Это чище и начинает окупаться, как приложение становится выше. Это также лучшее разделение проблем, и это позволяет тестировать код на стороне клиента без какой-либо серверной технологии, что является еще одним плюсом.

этот пример использует jQuery, но может быть адаптирован для другой библиотеки или ванильного Javascript.

просто используйте один из следующих методов.

мне очень нравится, как WordPress работает с enqueue и локализация функции, поэтому, следуя этой модели, я написал простой класс для ввода скриптов на страницу в соответствии с зависимостями скриптов и для предоставления дополнительных данных для скрипта.

вызов enqueue_script() функция для добавления сценария, установки souce и зависимостей на других сценариях, и дополнительных данных необходимых для скрипт.

и print_scripts() метод приведенного выше примера отправит этот вывод:

независимо от того, что сценарий «jquery» запрашивается после «jquery-ui», он печатается раньше, потому что он определен в «jquery-ui», что он зависит от «jquery». Дополнительные данные для «пользовательского скрипта» находятся внутри нового блока скрипта и помещаются перед ним, он содержит mydata объект, который содержит дополнительные данные, теперь доступен для «custom-script».

это не работает, потому что php попытается обработать myPlugin как константа, и когда это не удастся, он попытается рассматривать его как строку ‘myPlugin’ который он попытается объединить с выходом функции php start() и поскольку это не определено, это приведет к фатальной ошибке

хотя это, скорее всего, сработает, так как php создает допустимый javascript с ожидаемыми аргументами, если это не удастся, скорее всего, потому что myPlugin еще не готов. Проверьте порядок исполнения.

также вы должны отметить, что php out put небезопасен и должен быть отфильтрован с помощью json_encode()

редактировать

Потому Что Я не заметил отсутствующую скобку в myPlugin.start( :-\

означает, что php теперь будет производить myPlugin.start(42); и будет работать, как ожидалось, при выполнении javascript

Я вышел с простым методом назначения переменных JavaScript с помощью PHP.

он использует атрибуты данных HTML5 для хранения переменных PHP, а затем назначается JavaScript при загрузке страницы.

полный учебник можно найти здесь

вот один, который я не вижу в качестве опции. это похоже на использование AJAX, но явно разные.

сначала установите источник скрипта непосредственно в файл PHP.

вы даже можете передать переменную обратно в файл PHP, например:

затем в «your_php_file.в PHP»:

вот вам ‘PHP’ чтобы использовать эту переменную:

предположим, что переменная является числом, в таком случае, это проще!—11—>

выход:

Допустим, ваша переменная не является целым числом, но если вы попробуете метод выше, вы получите что-то вроде этого:

но в JavaScript это синтаксическая ошибка.

Итак, в php у нас есть вызов функции json_encode это кодирует строку в объект json.

вы можете использовать тот же метод для массивов:

и ваш JavaScript выглядит так:

Как передать значение переменной php в javascript. Смотреть фото Как передать значение переменной php в javascript. Смотреть картинку Как передать значение переменной php в javascript. Картинка про Как передать значение переменной php в javascript. Фото Как передать значение переменной php в javascript

после многих исследований я нашел самый простой способ легко передать все виды переменных.

в вашем PHP-скрипте у вас есть две переменные, и вы пытаетесь отправить их в свои js-скрипты:

в любом из ваших javascript, вызванных на Вашей странице, просто вызовите vars.

я предположу, что данные для передачи являются строкой.

как заявили другие комментаторы, AJAX является одним из возможных решений, но минусы перевешивают плюсы: он имеет задержку, и его сложнее запрограммировать (ему нужен код для извлечения значения как на стороне сервера, так и на стороне клиента), когда более простая функция экранирования должна быть достаточной.

Итак, мы вернулись к побегу. json_encode($string) работает если вы кодируете исходную строку как UTF-8 сначала, если она еще не, потому что json_encode требует данных UTF-8. Если строку в ISO-8859-1, то вы можете просто использовать json_encode(utf8_encode($string)) ; в противном случае вы всегда можете использовать iconv сначала выполните преобразование.

но есть большой gotcha. Если вы используете его в событиях, вам нужно запустить htmlspecialchars() о результате, чтобы сделать его правильным кодом. И тогда вы должны либо быть осторожны, чтобы использовать двойные кавычки, чтобы заключить событие, или всегда добавлять ENT_QUOTES в функции htmlspecialchars. Например:

, вы не могу использовать htmlspecialchars на обычном JS-коде (код заключен в теги). Это делает использование этой функции склонной к ошибкам, забывая htmlspecialchars результат при написании кода события.

можно написать функцию, которая не имеет этой проблемы и может использоваться как в событиях, так и в обычном JS-коде, если вы всегда заключаете свои события в одинарные кавычки или всегда в двойные кавычки. Вот мое предложение, требующее, чтобы они были в двойных кавычках (которые я prefer):

функция требует PHP 5.4+. Пример использования:

теперь вы можете получить значение с помощью DOM, использовать innerHTML идентификатора span, в этом случае вам не нужно делать никаких вызовов на сервер, или ajax или любую другую вещь.

ваша страница будет печатать его с помощью php, и вы javascript получите значение с помощью DOM.

вот как я это делаю (есть много способов):

Шаг 1

Шаг 2

и это сработает. Это просто назначение переменной javascript, а затем передача значения существующей переменной php. Поскольку php пишет строки javascript здесь, он имеет значение переменной php и может передавать ее напрямую.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *