我需要找到一些工具才能从.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'];