Взаимодействие PHP и JavaScript
Опубликовано: 21.12.2017
Как передать переменную из PHP в JavaScript?
Нужно во время выполнения скрипта PHP просто сформировать такой текст, чтобы он потом мог выполниться в браузере. Например.
<?php $var = 'Привет, мир'; print '<script language="javascript">alert("'.$var.'");</script> ?>
Если вы создадите файл php с таким содержимым и запустите его из браузера — вы увидите пустую страницу и сообщение alert.
Разумеется, нужно помнить, что синтаксис должен быть JavaScript. Фактически, когда мы формируем код JS на PHP — мы должны помнить, что сначала php что-то сгенерирует и это что-то должно быть валидным JS.
Уроки JavaScript | #6 - Условные операторы if, if else, '?'.
В данном случае наш php-скрипт формирует строку:
А это — вполне корректный JavaScript, который будет выполнен браузером.
Можно догадаться, тут дела обстоят труднее. Ведь php генерирует JS, а вот обратная связь не подразумевается особо. Так что хочешь-не хочешь, а придется формировать новый запрос к серверу, передавая в нем данные для скрипта. У нас есть два основных метода передачи данных. Реализация может быть как через синхронные, так и через асинхронные запросы. Синхронные вызовут перезагрузку страницы, а асинхронные используют Ajax.
Урок 55. Создание простейшего веб приложения с использованием php + mysql
Синхронный метод передачи данных в php из JavaScript
<script language="javascript"> var message = encodeURIComponent('Hello, server!'); window.location.href = 'http://dayte2.com/index.php?message'+message; </script>Этот код немедленно перенаправит пользователя по адресу http://dayte2.com/index.php?message=Hello%2C%20server!
PHP-код в файле index.php получит данные из GET и сформирует суперглобальные массивы.
<?php print $_GET[message]; ?>Асинхронная передача переменной из JavaScript в PHP