Использование JavaScript и PHP
При разработке Web-узлов может оказаться, что нужно использовать и язык сценариев JavaScript. Например, может понадобиться изменить содержимое Web-страницы в зависимости от местоположения курсора мыши или щелчка на ней, т.е. изменить страницу без ее повторного отображения. Это нельзя сделать с помощью РНР, поскольку он является серверным языком разработки сценариев. Интерпретатору РНР ничего неизвестно о том, что происходит в клиентском браузере, поскольку он выполняет сценарии только на сервере. Поэтому для изменения Web-страницы следует воспользоваться языком создания клиентских сценариев, к которым и относится язык JavaScript.
Пользователь может отключить режим использования сценариев JavaScript, и браузер не сможет их выполнить. Поэтому, прежде чем принять решение об использовании языка JavaScript, необходимо удостовериться в том, что соответствующий режим поддерживается клиентским программным обеспечением.
В данном разделе язык клиентских сценариев JavaScript подробно рассматриваться не будет. Здесь речь пойдет лишь о том, как совместно использовать языки сценариев JavaScript и РНР.
Добавление кода JavaScript в сценарий РНР
Код JavaScript, так же как и код HTML, интерпретируется и выполняется клиентским браузером. Поэтому его можно добавить в сценарий РНР точно так же, как и код HTML. По существу, сценарии JavaScript являются частью HTML-кода Web-страницы, которые можно добавить следующим образом:
<script language="JavaScript"> код JavaScript </script>
В сценариях РНР код JavaScript используется точно так же, как и код HTML: выводится с помощью функции echo. Например: ‹?php echo "<script language=\"JavaScript\"> <!-- document.write('Данная страница изменялась: '+ document.lastModified + '<br>') //--> </script>"; ?›
|
При выполнении этого фрагмента кода в браузере будет выведена строка с датой и временем, когда данная страница была в последний раз модифицирована:
Данная страница изменялась: 03/24/2009 12:01:47 Код JavaScript, так же как и дескрипторы HTML, можно размещать вне дескрипторов РНР и не использовать вместе с функцией echo. В этом случае он будет обрабатываться только клиентским браузером.
Использование переменных РНР в сценариях JavaScriptПеременные РНР допустимо использовать в коде JavaScript точно так же, как и дескрипторы HTML. Например, в приведенный выше код можно добавить переменную $string следующим образом:
‹?php $string = "Данная страница изменялась:"; echo "<script language=\"JavaScript\"> <!-- document.write('$string' + document.lastModified + '<br> ') //--> </script> " ; ?›
|
В свою очередь, в сценариях JavaScript используются собственные переменные, которым можно присваивать значения переменных РНР. Например:
‹?php $string = "Данная страница изменялась:"; echo "<script language=\"JavaScript\"> <!-- var message =\"$string\"; document.write(message+document.lastModified + '<br>') // --> </script>" ; ?›
|
Поскольку код JavaScript выполняется в клиентском браузере, то "обменяться" значениями переменных JavaScript с переменными РНР на текущей странице нельзя. Значения JavaScript должны быть переданы следующему сценарию РНР. Для этого их можно добавить к URL-адресу, разместить в данных cookie или передать в качестве элемента формы.
|