xmlrequest不会从php返回文本


xmlrequest does not return text from php

我需要找到一些工具才能从.html调用.php。这里有一个问题:当这个例子起作用时,从.php文件:

<html>
    <head>
    <meta http-equiv="content-type" content="text/html" charset="utf-8">
    </head>
    <body>
    <p>Your IP is </p>
    <?php
            echo $_SERVER['REMOTE_ADDR'];
    ?>
    <hr />
    </body>
</html>

这个例子在.html文件中不回显IP:

---来自index.html--

<html>
    <head>
        <meta http-equiv="content-type" content="text/html" charset="utf-8">
        <script type="text/javascript">
        function getIpNumber() {
            var xmlhttp=new XMLHttpRequest();
            xmlhttp.onreadystatechange=function() {
                if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                    document.getElementById("showIpNumber").innerHTML=xmlhttp.responseText;
                }
            }
            xmlhttp.open("POST","getip.php",true);
            xmlhttp.send();
        }    
        </script>
    </head>
    <body onload="getIpNumber();">  
    <p>Your IP is <span id="showIpNumber"></span></p>
</html>

---来自getip.php--

<?php
    echo "$_SERVER['REMOTE_ADDR']";
?>

这里怎么了?

更改此行

echo "$_SERVER['REMOTE_ADDR']";

echo $_SERVER['REMOTE_ADDR'];

打开错误报告会发出信号:

分析错误:语法错误,意外的"(T_ENCAPSED_AND_WHITESPACE),在第2行的/file.php中应为标识符(T_STRING)、变量(T_variable)或数字(T_NUM_STRING)


错误报告添加到文件顶部,这将有助于生产测试。

error_reporting(E_ALL);
ini_set('display_errors', 1);

正如Knossos在评论中指出的那样:

"您也可以使用echo "{$_SERVER['REMOTE_ADDR']}";,尽管在这种情况下,这将毫无意义。不过,它在更大、更复杂的字符串中可能很有用。"

只需更换这一行

echo "$_SERVER['REMOTE_ADDR']";

到这个

echo $_SERVER['REMOTE_ADDR'];