Передача переменных из PHP в Javascript

Опубликовано: 07.10.2017

видео Передача переменных из PHP в Javascript

[HTML5/JS #11] Работа с сервером из JavaScript

Как передать переменную из PHP в JavaScript и обратно?

Начнем с того, что никакую переменную передать, конечно же, невозможно. Поскольку переменная — это часть программы. И из одной в другую передать её нальзя. Передать можно только значение переменной. Т.е. текст. То есть, различия между "передачей переменной в яваскрипт" и формированием html таблицы НЕТ НИКАКОГО!


----------------------<cut>----------------------

Отсюда вывод — "Передать переменную" в Javascript очень легко. Особенно, повторюсь, если учесть, что никакой "передачи" не происходит. PHP просто напросто генерирует яваскрипт точно так же, как и всю остальную страницу, вместе со всеми переменными.

Точно так же, как вы выводите в браузер строку "Hello World, это Вася Пупкин!", выводится и любой яваскрипт, со всеми своими переменными.


как передать переменную c одного файла на другой PHP

Единственное условие — вы должны представлять себе тот яваскрипт, который хотите получить.

К примеру в PHP есть переменная

$name="Вася"

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

<script>name="Вася";</script>

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


Создадим онлайн чат на php и javascript

<? $name="Вася"; ?> <script>name="<? echo $name; ?>"</script>

То есть, фактически, мы просто сформировали нашим PHP скриптом некий текст, который выглядит, как нужный нам код на яваскрипте. Или, с другой стороны, мы писали свой яваскрипт, в нужных местах вставляя вывод переменных из PHP.

Чтобы не сойти с ума от разнообразных кавычек, настоятельно рекомендуется яваскрипт выводить не весь с помощью echo, а именно так, как написано здесь — закрыв тег PHP и открывая их только там, где нужно вывести переменную.

Как передать переменную из яваскрипта в PHP?

Точно так же, как и любые другие данные — послав запрос на сервер.

Но надо четко понимать, что во время выполнения php скрипта получить что-либо из яваскрипта, разумеется, невозможно. Передать можно будет только при следующем запросе. И обрабатывать его будет уже другой PHP скрипт.

Если надо но событию onClick рбратиться к базе данных, то следует помнить, что она находится на сервере. То есть, надо запрашивать сервер, который запустит PHP скрипт, который обратится к базе, получит от неё ответ и передаст его в браузер.