我可以在同一个文件中同时使用XML,HTML和PHP吗?

时间:2017-07-12 06:02:30

标签: php html ajax xml

基本上我在这里要做的是从用户获取所选值,并在所选值是成员时生成输入框。我的问题是计算机无法理解echo内部编写的HTML代码。有人可以解释并帮助我吗?

我遇到问题的代码:

<?php
header('Content-Type: text/xml');
echo'<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
$food = $_GET['food'];
if (($food=="member")) {
    echo'Enter addditional details:<input type="text" name="optional">';
} else {
    echo "aint got ".$food;
}
echo'</response>';
?>

2 个答案:

答案 0 :(得分:0)

您不能在XML中使用HTML元素,因为XML会将它们视为XML元素。我建议只返回你输入的名字,或者如果没有名字,那么1或0来确定你是否应该显示你的输入并让php生成输入。

  

XML中有5个预定义的实体引用:&lt; &GT; &安培; “'

如果您需要AJAX并调用PHP进行信息处理,那么您不应该使用XML,因为XML上的AJAX调用用于从文件中读取数据。

看看差异:

https://www.w3schools.com/js/js_ajax_xmlfile.asp

https://www.w3schools.com/js/js_ajax_php.asp

答案 1 :(得分:0)

您当前代码的问题在于它正在创建一个无效的XML文档。

XML和HTML有一个共同的风格,但XML是一个更严格的标准。 HTML可以非常宽容,大多数浏览器可能会显示代码,但XML必须为所有元素都有关闭标记。输入标记未正确终止,应该是......

 echo'Enter addditional details:<input type="text" name="optional" />';

注意/关闭之前&gt;。你也可以把

 echo'Enter addditional details:<input type="text" name="optional"></input>';