Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Взаимодействие PHP и JavaScript (https://javascript.ru/forum/events/39022-vzaimodejjstvie-php-i-javascript.html)

bonev 12.06.2013 17:00

Взаимодействие PHP и JavaScript
 
Подскажите пожалуйста.
На странице есть скрипт вызова всплывающего окна.
Там же есть некий скрытый div текст которого передается в это всплывающее окно.
<div id="ajax-add-answer1"><?echo $arItem["DETAIL_TEXT"]?></div>
этот текст в добавляет PHP.

При открытии страница скрипт работает с ошибкой, хотя PHP нормально вставляет текст.

Если я заменю строку PHP на текст то все нормально.
<div id="ajax-add-answer1">бла-бла-бла</div>

По логике получается что сначала отрабатывает JavaScript а потом уже PHP. Может такое быть?

devote 12.06.2013 17:43

<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>

danik.js 12.06.2013 17:46

Цитата:

Сообщение от bonev
По логике получается что сначала отрабатывает JavaScript а потом уже PHP. Может такое быть?

Конечно. Если у пользователя в браузер встроен интерпретатор PHP :))

bonev 12.06.2013 18:02

devote,
Спасибо. Оно.
danik.js,
Ну да. Правильное замечание. Спасибо.

bonev 12.06.2013 18:12

еще непонятно
если так
<div id="ajax-add-answer1">test<br>test</div>
получается все правильно

а если так
<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>
то отрабатывает, но вываливает весь html в тексте

devote 12.06.2013 18:33

Цитата:

Сообщение от bonev
то отрабатывает, но вываливает весь html в тексте

значит не нужно использовать htmlspecialchars, но в тексте нужно почистить скрипты.. выпилить их оттуда.. Видимо они там присутствуют, от того и ошибки.. Удалите из текста все что в тегах script и их включительно.

bes 12.06.2013 19:16

Цитата:

Сообщение от devote
<div id="ajax-add-answer1"><?php echo htmlspecialchars($arItem["DETAIL_TEXT"]);?></div>

devote, привет :)
не принципиально, но для красоты для таких случаев обычно юзают выражения <?= :)

danik.js 12.06.2013 19:18

Для красоты таких случаев юзают twig :)

devote 12.06.2013 19:55

Цитата:

Сообщение от bes
devote, привет

привет
Цитата:

Сообщение от bes
но для красоты для таких случаев обычно юзают выражения <?=

которое на некоторых серверах может быть выключено, директивой short_open_tag=off

Хотя с версии PHP 5.4 эта директива вроде как(если мне память не изменяет) не будет реагировать на тег <?=
Но я обычно перестраховываюсь, на всякий случай) привычка)

bes 12.06.2013 21:25

Цитата:

Сообщение от devote
которое на некоторых серверах может быть выключено, директивой short_open_tag=off

Хотя с версии PHP 5.4 эта директива вроде как(если мне память не изменяет) не будет реагировать на тег <?=

да, с 5.4 short_open_tag действует только на <? и это правильно, нельзя допускать такой беспредел :)


Часовой пояс GMT +3, время: 02:22.