Как php переменную передать в js
Перейти к содержимому

Как php переменную передать в js

  • автор:

Как php переменную передать в js

PHP просто напросто генерирует яваскрипт точно так же, как и всю остальную страницу, вместе со всеми переменными. К примеру, в PHP есть переменная $name=»Вася», значение которой надо передать в JavaScript, чтобы получить:

 

Мы просто пишем:

  

или при присвоении переменной «а» в JavaScript значения переменной $a из PHP:

  

В этом варианте плохо то, что JavaScript-код сгенерированный «на лету» трудно отлаживать, особенно если кода много. А если JavaScript используется многократно — его приходится копировать, а лишняя информация (при каждом запросе) пожирает трафик.

Вариант 2. Обращение через getElementById.

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

а в PHP-скрипте сделаем:

Как передать из php в javascript

Для передачи данных из PHP в JavaScript можно использовать несколько способов:

Использование тега внутри PHP-кода и вставка переменной внутри скрипта:

 $my_var = "Hello, World!"; ?> var js_var = " echo $my_var; ?>"; console.log(js_var); // выводит "Hello, World!" в консоль  

Создание скрытого элемента на странице и передача значения через его атрибут:

 $my_var = "Hello, World!"; ?>  type="hidden" id="my_var" value=" echo $my_var; ?>"> var js_var = document.getElementById("my_var").value; console.log(js_var); // выводит "Hello, World!" в консоль  

Использование AJAX-запроса для получения данных из PHP-скрипта:

 $my_var = "Hello, World!"; echo $my_var; // выводим переменную на экран ?> let xhr = new XMLHttpRequest(); xhr.open('GET', 'script.php', false); // false - синхронный запрос xhr.send(); console.log(xhr.responseText); // выводит "Hello, World!" в консоль  

В каждом из этих способов мы передаем переменную $my_var из PHP в JavaScript. Выберите тот способ, который подходит вашей задаче лучше всего.

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

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

Сегодня пост будет посвящен передачи значений переменной PHP в JavaScript — сценарий.
Этот урок подойдет самым новичкам, тем кто только начинает заниматься Web — программированием.
Для начала создадим обычный документ index.php и его каркасом будет служить простой HTML код.

    Работа с переменными   

Весь код JavaScript и PHP будем писать в теги BODY.
PHP переменная $CITY будет равна «Ivanovo». Значение этой переменной нам нужно передать в переменную TOWN JavaScript`a.

Давайте теперь напишем следующий код в файле index.php:

  

И так рассмотрим выше приведенный нами программный код. У нас есть PHP-переменная с именем CITY и значением Ivanovo, и наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript.
Для этого мы как обычно открываем теги JavaScript и объявляем переменную TOWN.

На месте присвоения JavaScript переменной TOWN, мы пишем PHP код, который выводит нашу переменную CITY.
Наступило время проверить наш код в действии.

Наш браузер выдал нам следующее:
Город невест и молодежи: Ivanovo

image

При просмотре исходного кода страницы мы увидим:

Из всего выше перечисленного делаем вывод, что передавать переменную из PHP в JavaScript очень просто.
Спасибо за внимание, с вами был DangerPro

Передать переменную из PHP в JS

Если укажу код без подключения файла friends.js, тогда переменная из PHP будет присвоена переменной JS,
Подскажите, что делаю не так? За ранее спасибо.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Передать переменную из JS в PHP
Есть таблица в БД, куда попадают покупки пользователей, мне нужно эти покупки по клику на кнопку.

Передать переменную из js в php
передать переменную из js in php <script type="text/javascript"> $(document).ready(function()

Передать переменную из PHP в JS
есть вот такой скрипт: function base64_to_jpeg( $base64_string, $output_file ) < $ifp =.

Передать переменную js в php
У меня возникает один вопрос: Как передать переменную js в php? Читал много в интернете по этому.

dev — investigator

Эксперт JSЭксперт HTML/CSS

2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696

ЦитатаСообщение от u4en1k Посмотреть сообщение

Подскажите, что делаю не так?

чтобы провернуть этот фокус — php и js сущности должны в одной области видимости, например на странице. Либо получайте данные по ajax/fetch.

Эксперт JS

6485 / 3896 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781

ЦитатаСообщение от u4en1k Посмотреть сообщение

Подскажите, что делаю не так?

Для данного вида скрипта элемент
должен быть не в начале HTML-файла, а в самом конце перед

Тогда внешний скрипт не будет отличаться от встроенного в HTML.

Добавлено через 3 минуты
Так попроще будет:

$(".block_id").onclick(function(e) {

133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593

Qwerty_Wasd, переменная $lang[‘waiting’] — это глобальная переменная PHP. Если JS код находится в файле html, тогда работает, если выношу в отдельный файл, тогда не работает. Переменная отдается как текстовое значение, то есть
amr-now, В том, то и дело, что

script type="text/javascript" src="js/fiends.js">/script>

подключение указано в самом конце файла, перед но результат тот же.

ЦитатаСообщение от amr-now Посмотреть сообщение

Так попроще будет:

Эксперт JS

6485 / 3896 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781

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

Стоит ли постоянно пересоздавать JS-файл? Сомневаюсь. JS-файл оставить как неизменную библиотеку функций.
Есть хороший обход проблемы:
Переменную

var tttt = ""; // Именно var, а не let

Объявите в встроенном HTML-элементе, затем вызов JS-файла:

1 2 3 4
script> var tttt = "['waiting']; ?>"; // Именно var, а не let /script> script type="text/javascript" src="js/fiends.js">/script>

PHP-гуру могут меня поправить, если я не прав, но мне кажется, что вышеуказанный способ должен сработать.
Соответственно:
fiends.js

1 2 3 4 5
$(".block_id").click(function(e) { e.preventDefault(); // let tttt = ""; // Перенесём в HTML. // переменной tttt нужно присвоить значение переменной php $lang['waiting'] document.getElementById("client_id").childNodes[0].textContent = tttt;

Добавлено через 6 минут
——
Сейчас тоже у себя проверю. Интересно посмотреть на нестандартную область видимости ))

Добавлено через 22 минуты
——
Работает. Даже с let. Получается, что немодули распространяют видимость и в другие файлы.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
 html> head> meta charset="utf-8" /> script src="https://code.jquery.com/jquery-3.4.1.js"> script> head> body> button class="block_id">Кнопкаbutton> div id="client_id">div>1111div>div>2222div>div> script> let tttt = "888"; script> script type="text/javascript" src="js/fiends.js"> script> body> html>

js/fiends.js

1 2 3 4 5
$(".block_id").click(function (e) { e.preventDefault(); // переменной tttt нужно присвоить значение переменной php $lang['waiting'] $("#client_id :first-child").text(tttt); });

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

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