Мы принимаем к оплате:
«Подарочный сертификат» от нашего Учебного Центра – это лучший подарок для тех, кто Вам дорог! Оплате обучение и подарите Вашим родным и близким обучение по любому из курсов!!!
«Сертификат на повторное обучение» дает возможность повторно пройти обучение в нашем Учебном Центре со скидкой 1000 рублей!
А также:
Как из php передать переменную в javascript
Как передать переменную из Javascript в PHP
Так уж получилось, что по роду деятельности мне приходится отвечать как на сложные технические вопросы, так и на откровенно нубские. Что поделать, уровень подготовки разных специалистов разный.
Спросили: «Как передать переменную из Javascript в PHP». Ответ на этот вопрос хотелось бы начать с того, что Javascript и PHP выполняются на разных физических машинах, а это значит, что просто так «передать переменную», в обычном понимании этого процесса, не получится.
Поскольку Javascript выполняется на клиентской машине (клиенте), а PHP на серверной (сервер), то назовём передачу данных между Javascript и PHP термином «клиент-серверный обмен», так будет правильнее.
В web обмен данными производится по следующей схеме: на сервер передаётся запрос с клиента, этот запрос обрабатывается сервером, после чего он возвращает на клиент некоторые данные (ответ). Этот способ обмена использует и сам браузер. Тот URL, который вы забиваете в строку адреса — и есть запрос. А ответом является HTML, который выводится на странице браузера.
Однако данные с сервера должен запрашивать не обязательно сам браузер. Ваш код на Javascript, который крутится на страничке, также может выступить в роли клиента. Для этого используют встроенный компонент браузера XMLHttpRequest, который сам по себе может производить запросы на сервер и получать от него ответы, при этом сама HTML-страница не обновляется и вообще никак не меняется.
Работа с сервером через объект XMLHttpRequest часто называется более популярным словом — AJAX.
Однако работать напрямую с этим объектом я лично не рекомендую. Дело в том, что на разных браузерах он работает немного по-разному, и это нужно будет учитывать в коде. Кроме того, «чистый» Javascript не имеет удобных средств работы с событиями, так что у вас получится приличная «портянка» кода, который ещё и будет «глючить» скорее всего.
Поэтому я рекомендую использовать отработанное решение, обкатанное годами — это библиотека jQuery.
Код с использованием этой библиотеки получается достаточно простым и лаконичным. например, если вам нужно передать значение v=6789 на сервер, то можно выполнить следующий код
jQuery.get('/index.php?v=6789', function(result){ alert(result); });При этом ваш скрипт по адресу /index.php получит значение в переменной $_GET[‘v’]. А всё, что он выведет в выходной поток (например, с использованием echo), попадёт в переменную result и будет выведено в всплывающий диалог alert().
Как видите, всё просто.
Можно аналогичным образом отправлять данные через POST, а также отправлять закодированные в JSON данные (наиболее часто используемый способ), но об этом я рекомендую вам прочесть самостоятельно в документации от jQuery (смотрите методы .ajax(), .post()).
На сегодня всё.
Как передать переменную из PHP в сгенерированный JavaScript?
Задача 1:
Вам нужно изменить $_POST[price] на $_POST['price'], как будто вы уже выше этого. Не упаковывая его в кавычки, PHP предположит, что вы пытаетесь использовать константу, определенную с помощью define().
Проблема 2:
Если вы используете ванильный PHP и хотите вставить переменную в скрипт, вы бы сделали так:
var price = ($this).val();Это, конечно, предполагает, что JavaScript генерируется из того же PHP-скрипта, который у вас выше.
Здесь вы можете прочитать документацию для json_encode.
У вас также есть огромная уязвимость в вашем коде:
На данный момент ваш скрипт берет данные непосредственно из пользовательского запроса и помещает его в SQL-запрос. Это может привести к атакам SQL-инъекций. Нехорошо.
Официальную документацию по этому вопросу можно найти здесь.
Рекомендации:
Во-первых, я замечаю, что вы делаете все в глобальном пространстве. Я настоятельно рекомендую вам узнать, как обернуть свой код в классы и функции; это упростит работу и тестирование.
Хорошие вещи для поиска, которые помогут вам на правильном пути:
- PHP объектно-ориентированное программирование (ООП)
- Рекомендация стандартов PHP (PSR)
- PHP-композитор
Во-вторых, делать то, что делает этот путь, довольно устаревшим и позволяет легко справляться с проблемами. Я призываю вас изучить более современные рамки, такие как Laravel. Вы также можете найти одностраничные приложения (SPA), такие как Vue, Angular или React, которые отлично работают с Laravel, выступающим в качестве базового API REST.
Удачи вам.
Как передать переменные из цикла while PHP в JavaScript?
Я создаю диаграмму Графа, используя API Google. Я использовал Java Script источник из Google. В PHP я использую while loop, где я извлекаю некоторую строку массива с использованием запроса, этот запрос mysql отлично работает, а значения выбранного набора также правильны (когда я повторял это в PHP), но проблема в том, что как передать эти значения в Функция JavaScripts? Мой PHP-код выглядит следующим образом:
while ($graph_result = mysqli_fetch_row($graph)) { $graphCount = $graph_result[0]; $graphMonth = $graph_result[1]; echo $graphCount; // This works echo $graphMonth; }Это дает мне результат из двух строк, каждый из которых содержит два значения, перечисленные ниже:
Теперь я хочу передать эти значения выше в функцию Java Script, чтобы он рисовал диаграмму графика для меня, мой код javascript выглядит следующим образом:
function drawChart() { var data = google.visualization.arrayToDataTable([ ['Months', 'users'], [graphMonth, graphCount] // Here I have to place PHP values ! ]); }Итак, как передать эти значения в JS???
задан Abhijit Kumbhar 01 июня '16 в 12:26
источник поделиться