我需要帮助!我试图从托管服务提供商的网站数据库生成XML文档并从我的家用PC访问它,现在我正在localhost环境中进行。我使用这些代码,我在浏览器中收到错误消息。请看一下我的代码......
用于生成XML文档的data.php
<?php
include ("koneksi-database.php");
header('Content-Type: text/xml');
echo "<?xml version='1.0'?>";
echo "<outbox>";
$query = "SELECT * FROM `tbstatus` WHERE `status` = '$status' ORDER BY `ID`";
$result = mysql_query($query);
while ($data = mysql_fetch_array($result))
{
echo "<data>";
echo "<trx>".$data['trx']."</trx>";
echo "<status>".$data['status']."</status>";
echo "<signature>".$data['signature']."</signature>";
echo "<time>".$data['time']."</time>";
echo "</data>";
}
echo "</outbox>";
?>
read.php ,用于读取localhost中的XML文档
print_r($dataxml = simplexml_load_file('data.php'));
我还创建 index.php ,每5秒运行一次脚本。
<html>
<head>
<script type="text/javascript">
var xmlhttp;
function ajax()
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
// do nothing
}
}
xmlhttp.open("GET","read.php");
xmlhttp.send();
setTimeout("ajax()", 5000);
}
</script>
</head>
<body onload="ajax();">
<h1>Server is Running...</h1>
</body>
</html>
最后这是我打开read.php时从浏览器获得的错误消息。
Warning: simplexml_load_file() [function.simplexml-load-file]: data.php:9: parser error : Start tag expected, '<' not found in C:\xampplite\htdocs\simpul\baca.php on line 9
Warning: simplexml_load_file() [function.simplexml-load-file]: echo "<?xml version='1.0'?>"; in C:\xampplite\htdocs\simpul\baca.php on line 9
Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in C:\xampplite\htdocs\simpul\baca.php on line 9
答案 0 :(得分:0)
您的print_r($dataxml = simplexml_load_file('data.php'));
正在读取原始PHP文件,而不是脚本执行结果!
data.php
文件有一个PHP代码,用于输出XML文件,而不是真正的XML文件。
例如,您应该使用print_r($dataxml = simplexml_load_file('http://localhost/data.php'));
。 (假设http://localhost/data.php
是访问您文件的网址。)
仅使用'data.php'作为参数将从服务器获取原始文件,而不是由PHP处理。