Получить отображаемую страницу PHP на другой странице PHP [duplicate]

Чтобы определить, почему код PHP не работает в коде JavaScript , нам нужно понять, что такое клиентский и серверный язык и как они работают.

Серверные языки (PHP и т. д.) : они извлекают записи из баз данных, поддерживают состояние через HTTP-соединение без состояния и выполняют много вещи, требующие безопасности. Они находятся на сервере, эти программы никогда не имеют своего исходного кода для пользователя

Image from wikipedia_http://en.wikipedia.org/wiki/File:Scheme_dynamic_page_en.svg [/g16] image attr

Хотя с другой стороны Клиентский язык на стороне клиента (например, JavaScript) находится в браузере и запускается в браузере, Сценарии на стороне клиента обычно относятся к классу компьютерных программ в Интернете, которые выполняются на стороне клиента, в веб-браузере пользователя, а не на стороне сервера .

JavaScript отображается пользователю и может быть легко изменен, поэтому для обеспечения безопасности мы не должны полагаться на JavaScript.

Итак, когда вы делаете запрос HTTP на сервере, чем сервер, сначала внимательно читает файл PHP, чтобы узнать, есть ли какие-либо задачи, которые необходимо выполнить, и отправлять ответ на клиентскую сторону и снова, как @deceze сказал * Как только PHP закончил вывод ответа, сценарий заканчивается, и на сервере ничего не произойдет, пока не появится новый запрос HTTP . *

Graphical representation [/g17]

Источник изображения

Итак, что мне делать, если мне нужно вызвать PHP? Это зависит от того, как вам это нужно: либо перезагружая страницу, либо используя вызов AJAX.

  1. Вы можете выполнить перезагрузку страницы и отправить запрос HTTP
  2. вы можете сделать вызов AJAX с помощью JavaScript, и это не требует перезагрузки страницы

Хорошо Чтение:

  1. Википедия:
  2. Википедия: скрипты на стороне клиента
  3. Мадара Учиха: разница между клиентской стороной и программированием на стороне сервера

46
задан Binarytales 5 October 2008 в 02:27
поделиться

4 ответа

<?php
ob_start();
?>
<xml/>
<?php
$xml = ob_get_clean();
?>
<input value="<?php echo $xml" ?>/>
89
ответ дан moo 26 August 2018 в 11:32
поделиться
  • 1
    @Jleagle $ xml = ob_get_clean () вернет выходной буфер и очистку вывода. Он по существу выполняет как ob_get_contents (), так и ob_end_clean () – jamietelin 19 June 2012 в 16:06
  • 2
    Можете ли вы их вложить? – Yevgeniy Afanasyev 28 August 2015 в 04:22

Вы можете попробовать следующее:

<?php
$string = <<<XMLDoc
<?xml version='1.0'?>
<doc>
  <title>XML Document</title>
  <lotsofxml/>
  <fruits>
XMLDoc;

$fruits = array('apple', 'banana', 'orange');

foreach($fruits as $fruit) {
  $string .= "\n    <fruit>".$fruit."</fruit>";
}

$string .= "\n  </fruits>
</doc>";
?>
<html>
<!-- Show XML as HTML with entities; saves having to view source -->
<pre><?=str_replace("<", "&lt;", str_replace(">", "&gt;", $string))?></pre>
<textarea rows="8" cols="50"><?=$string?></textarea>
</html>
1
ответ дан mattoc 26 August 2018 в 11:32
поделиться

Похоже, вы хотите Буферизация вывода PHP

ob_start(); 
// make your XML file

$out1 = ob_get_contents();
//$out1 now contains your XML

Обратите внимание, что буферизация вывода останавливает отправку вывода, пока вы не «сбросите» его. Дополнительную информацию см. В документации .

9
ответ дан maxsilver 26 August 2018 в 11:32
поделиться

Поместите это в начало:

ob_start();

И чтобы вернуть буфер:

$value = ob_get_contents();
ob_end_clean();

См. http://us2.php.net/ manual / en / ref.outcontrol.php и отдельные функции для получения дополнительной информации.

37
ответ дан Robert K 26 August 2018 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: