我是PHP的新手,我试图使用PHP将节点附加到XML。
这是我的comments.php文件:
<?php
$date = "http://jdrag.x10.mx/comments_file.xml";
$xml = simplexml_load_string($data);
$commentt = $xml->addChild("comment");
$name = $_POST["cname"];
$email = $_POST["cemail"];
$comment = $_POST["comment"];
$commentt->addChild("name", $name);
$commentt->addChild("email", $email);
$commentt->addChild("commentInside", $comment);
echo $xml->saveXML();
?>
我的comments.html是:
<form action="comments.php" method="post">
Name: <input type="text" name="cname" />
Email: <input type="text" name="cemail" />
Comment: <input type="text" name="comment" />
<input type="submit" />
</form>
正如您所看到的comments
标记Fatal error: Call to a member function addChild() on a non-object in /home/jdragx10/public_html/comments.php on line 5
但是当我提交表单时,我收到了这个错误:
{{1}}
因为我是PHP的新手,我真的不知道它意味着什么或如何解决它。 提前感谢能够修复我的代码的任何人。
答案 0 :(得分:1)
您希望使用simplexml_load_file()
。
simplexml_load_string()
函数将XML文档作为字符串,而simplexml_load_file()
将获取包含XML的文件的路径,就像您一样。
您对变量名称也有一些问题,XML文件的路径保存在$date
中,而您尝试使用变量$data
加载XML。
最后,确保在编写代码时打开(并达到最高级别)错误报告。上面的代码给出了一条通知消息(“通知:未定义的变量:数据......”),而不只是一个致命的错误消息。
将值display_errors
和error_reporting
分别设置为On
文件或-1
文件中的php.ini
和{{1}}。