18.12.2020, 12:48
|
Новичок на форуме
|
|
Регистрация: 18.12.2020
Сообщений: 5
|
|
Не срабатывает php в отдельном файле js
Здравствуйте!
Возникла проблема: на html странице есть js скрипт, который выполняется по onclick. Результат расчетов выводится в div с id=stand.
Эта часть кода выглядит так:
...document.getElementById('stand').innerHTML = '<img src="img/HOP.jpg">' + '<?php include("PHPcode/data1_functions.php");?> <div class="ramka"><div class="text-block-full"><div id="element3" style="display:block"><p class="data-p"><? echo $proba7601; ?></p></div></div></div>';...
Код кроме вывода картинки вызывает php и подгружаются данные из файла "data1".
Если js скрипт прописан в коде html (<script>...</script>), то всё работает и загружается.
Как только выношу скрипт в отдельный файл .js , то часть кода с выводом данных <? echo $proba7601; ?> не загружается. выполняется.
В чём может быть причина?
Последний раз редактировалось VSTTK, 18.12.2020 в 12:57.
|
|
18.12.2020, 12:51
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от VSTTK
|
Как только выношу скрипт в отдельный файл .js , то часть кода с выводом данных <? echo $proba7601; ?> не загружается.
|
Не "не загружается", а не выполняется, ибо PHP не обрабатывает этот тип файла. Можно конечно добавить его в исполняемые, но лучше этого не делать.
|
|
18.12.2020, 12:55
|
Новичок на форуме
|
|
Регистрация: 18.12.2020
Сообщений: 5
|
|
Пусть будет "не выполняется". Но почему?
|
|
18.12.2020, 13:04
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от VSTTK
|
Но почему?
|
Я что на английском ответит? Вроде бы на русском - потому, что js-файлы не являются исполняемыми интерпретатором РНР.
|
|
18.12.2020, 14:26
|
Новичок на форуме
|
|
Регистрация: 18.12.2020
Сообщений: 5
|
|
То есть php обрабатывает html и скрипты в нем, а вынесенный отдельно файл .js не обрабатывает?
Что нужно сделать, чтобы исполнялся php ?
Последний раз редактировалось VSTTK, 18.12.2020 в 14:39.
|
|
18.12.2020, 14:37
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от VSTTK
|
Почему в теле html он выполняет скрипт php
|
РНР не выполняет "в теле", РНР выполняется только в файлах, которые в конфигурации указаны как исполняемые. Если ваш файл, это .php, который выводит этот код, где '<img src="img/HOP.jpg">' ... это не html, а просто строка, то в нем и будут выполнятся php-код. В файле .html РНР будет выполнятся только в том случае, если это расширение также добавлено в исполняемые. РНР выполняется на сервере, и на нем нет html, js....
|
|
18.12.2020, 15:04
|
Новичок на форуме
|
|
Регистрация: 18.12.2020
Сообщений: 5
|
|
Можно ли только при помощи js выполнить вставку данных из ячеек excel?
|
|
18.12.2020, 15:07
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от VSTTK
|
Можно ли только при помощи js выполнить вставку данных из ячеек excel?
|
На клиенте много что можно сделать, а вставка данных из ячеек excel, это вопрос настолько резиновый, что можно его трактовать как угодно.
|
|
21.12.2020, 11:12
|
Новичок на форуме
|
|
Регистрация: 18.12.2020
Сообщений: 5
|
|
Сообщение от laimas
|
РНР не выполняет "в теле", РНР выполняется только в файлах, которые в конфигурации указаны как исполняемые. Если ваш файл, это .php, который выводит этот код, где '<img src="img/HOP.jpg">' ... это не html, а просто строка, то в нем и будут выполнятся php-код. В файле .html РНР будет выполнятся только в том случае, если это расширение также добавлено в исполняемые. РНР выполняется на сервере, и на нем нет html, js....
|
Спасибо за разъяснения!
Ситуация получается следующая: пользователь на странице html вводит параметры, нажимает кнопку и JS выбирает и показывает соответствующую этим параметрам картинку. Также есть файл data1.xlsx с ценами. Изначально планировалось, что PHP вытянет массив цен из data1.xlsx и подставит соответствующую картинке цену в html. Но файл js не исполняется PHP, поэтому цена не подставляется. Можно ли средствами только JS извлечь цены из data1.xlsx и подставить в html? Или сохранить массив данных от PHP в какой-либо файл, из которого JS извлечет и подставит цену?
|
|
21.12.2020, 11:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Варианты:
а) Экспортировать из Excel таблицу в формате CSV
б) Создать xml-карту, сопоставить ее с таблицей Excel экспортируя ее затем в формате XML (На сайте MS в справке рассказывается как это делается для разных версий офиса)
И CSV, и XML формат клиент без проблем "переваривает", вставляйте на здоровье. Можно на сервере любой из этих форматов преобразовать и в JSON для клиента.
То есть в этом плане проблем нет. И не обязательно это прятать в js-файл, да еще в него и РНР код. Эти данные можно запросить у сервера и асинхронно, сделав запрос к php-сценарию.
|
|
|
|