Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2020, 12:48
Новичок на форуме
Отправить личное сообщение для VSTTK Посмотреть профиль Найти все сообщения от VSTTK
 
Регистрация: 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.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2020, 12:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от VSTTK
Как только выношу скрипт в отдельный файл .js , то часть кода с выводом данных <? echo $proba7601; ?> не загружается.
Не "не загружается", а не выполняется, ибо PHP не обрабатывает этот тип файла. Можно конечно добавить его в исполняемые, но лучше этого не делать.
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2020, 12:55
Новичок на форуме
Отправить личное сообщение для VSTTK Посмотреть профиль Найти все сообщения от VSTTK
 
Регистрация: 18.12.2020
Сообщений: 5

Пусть будет "не выполняется". Но почему?
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2020, 13:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от VSTTK
Но почему?
Я что на английском ответит? Вроде бы на русском - потому, что js-файлы не являются исполняемыми интерпретатором РНР.
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2020, 14:26
Новичок на форуме
Отправить личное сообщение для VSTTK Посмотреть профиль Найти все сообщения от VSTTK
 
Регистрация: 18.12.2020
Сообщений: 5

То есть php обрабатывает html и скрипты в нем, а вынесенный отдельно файл .js не обрабатывает?
Что нужно сделать, чтобы исполнялся php ?

Последний раз редактировалось VSTTK, 18.12.2020 в 14:39.
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2020, 14:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от VSTTK
Почему в теле html он выполняет скрипт php
РНР не выполняет "в теле", РНР выполняется только в файлах, которые в конфигурации указаны как исполняемые. Если ваш файл, это .php, который выводит этот код, где '<img src="img/HOP.jpg">' ... это не html, а просто строка, то в нем и будут выполнятся php-код. В файле .html РНР будет выполнятся только в том случае, если это расширение также добавлено в исполняемые. РНР выполняется на сервере, и на нем нет html, js....
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2020, 15:04
Новичок на форуме
Отправить личное сообщение для VSTTK Посмотреть профиль Найти все сообщения от VSTTK
 
Регистрация: 18.12.2020
Сообщений: 5

Можно ли только при помощи js выполнить вставку данных из ячеек excel?
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2020, 15:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от VSTTK
Можно ли только при помощи js выполнить вставку данных из ячеек excel?
На клиенте много что можно сделать, а вставка данных из ячеек excel, это вопрос настолько резиновый, что можно его трактовать как угодно.
Ответить с цитированием
  #9 (permalink)  
Старый 21.12.2020, 11:12
Новичок на форуме
Отправить личное сообщение для VSTTK Посмотреть профиль Найти все сообщения от VSTTK
 
Регистрация: 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 извлечет и подставит цену?
Ответить с цитированием
  #10 (permalink)  
Старый 21.12.2020, 11:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Варианты:

а) Экспортировать из Excel таблицу в формате CSV
б) Создать xml-карту, сопоставить ее с таблицей Excel экспортируя ее затем в формате XML (На сайте MS в справке рассказывается как это делается для разных версий офиса)

И CSV, и XML формат клиент без проблем "переваривает", вставляйте на здоровье. Можно на сервере любой из этих форматов преобразовать и в JSON для клиента.

То есть в этом плане проблем нет. И не обязательно это прятать в js-файл, да еще в него и РНР код. Эти данные можно запросить у сервера и асинхронно, сделав запрос к php-сценарию.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Senior JS (node.js + mongodb + angular.js) + PHP (Одесса) greebn9k Работа 0 21.04.2015 01:20
Передача данных с js в php juramaj AJAX и COMET 2 11.03.2015 12:42
Выполнение обычного JS на сервере в PHP файле Smokvin Общие вопросы Javascript 10 24.01.2015 16:33
Получить массив из php d js freelancerphpcss jQuery 3 02.07.2013 15:29
Подгрузка блоков из php с помощью js oster_j Общие вопросы Javascript 0 18.03.2013 13:39