На главную страницу
Передача параметров из JavaScript в PHPВ отличие от PHP, скрипты JavaScript выполняются на машине клиента, в то время как PHP серверный язык программирования. Поэтому для создания эффективных Web-приложений необходимо комбинировать PHP и JavaScript скрипты. Существует две возможности такого взаимодействия: передача переменных из JavaScript в PHP и динамическое формирование скриптов JavaScript средствами PHP. Вариант 1. Передача переменных во внешний файл PHP.Одной из распространенной задачей является определение разрешение экрана и глубину цвета монитора посетителя страницы средствами JavaScript с последующей передачей этих данные в PHP-скрипт. Это довольно часто встречающаяся задача, особенно при написании счетчиков посещений и создании "динамического дизайна". Скрипт JavaScript, выполняющий необходимые действия, размещен файле index.html, содержимое которого приведено в нижеследующем листинге: <Script Language="JavaScript"> var height=0; var width=0; colorDepth = screen.colorDepth; if (self.screen) { width = screen.width height = screen.height } else if (self.java) { var jToolKit = java.awt.Toolkit.getDefaultToolkit(); var scrsize = jToolKit.getScreenSize(); width = scrsize.width; height = scrsize.height; } if (width > 0 && height > 0) { // Производим перенаправление на скрипт view.php, передавая в // переменной scrsize строку, содержащую значения width, // height и colorDepth. window.location.href = "http://localhost/view.php? width=" + width + "&height=" + height + "&color=" + colorDepth; } else exit(); </Script> После выполнения этого кода происходит автоматический переход на страницу view.php, в котором происходит вывод разрешения экрана и глубины цветопередачи в окно браузера (см. листинг ниже): <?php echo "Ширина : ".$_GET['width']; echo "Высота : ".$_GET['height']; echo "Цветовое <sup>разрешение</sup> : ".$_GET['color']; ?> Как видно, работа с данными из JavaScript, аналогична работе с данными, отправляющихся методом GET. Вариант 2. Динамическое формирование скриптов JavaScript средствами PHP внутри файла. Передать переменные также можно сгенерировав JavaScript код из PHP и заставив браузер обновиться, посылая определённые переменные назад PHP скрипту. Нижеприведённый пример показывает, как это сделать. Он позволяет PHP коду получить высоту и ширину экрана, что, обычно, возможно только на стороне клиента. <?php if (isset($_GET['width']) AND isset($_GET['height'])) # Функция определения параметров экрана { // Вывод размеров экрана echo "Ширина экрана: ". $_GET['width'] ."<br />\n"; echo "Высота экрана: ". $_GET['height'] ."<br />\n"; } else { // Вызов файла средствами javaScript с параметрами через метод GET echo "<script language='javascript'>\n"; echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width + \"&height=\" + screen.height;\n"; echo "</script>\n"; exit(); } ?> |