那里。第一次触摸XML的东西。但我的代码无法将新记录添加到XML文件中。请帮帮我。
首先,我有 studentdb.xml ,如下所示:
<root></root>
然后, insertxml.php 文件是这样的:
<?php
if (isset($_POST['insert']))
{
$xml = new DomDocument("1.0","UTF-8");
$xml-> formatOutput = true;
$xml->load('http://www.beautysalonishere.tk/studentdb.xml');
$cname = $_POST['c_name'];
$hadd = $_POST['h_add'];
$rootTag = $xml->getElementByTagName("root")->item(0);
$infoTag = $xml->createElement("info");
$nameTag = $xml->createElement("name", $cname);
$addTag = $xml->createElement("address", $hadd);
$infoTag->appendChild($nameTag);
$infoTag->appendChild($addTag);
$rootTag->appendChild($infoTag);
$xml->save('http://www.beautysalonishere.tk/studentdb.xml');
}
?>
<html>
<body>
<form method = "POST" action = "insertxml.php">
Stud Info</br>
PNAME<input type ="text" name="c_name"></br>
add <input type ="text" name="h_add"></br>
<input type="submit" name "insert" value="add">
</form>
</body>
</html>
我不知道哪里出错导致我无法添加新记录。
答案 0 :(得分:1)
总结所有评论......
修复提交按钮的name
属性
<input type="submit" name="insert" value="add">
通过
设置$rootTag
$rootTag = $xml->documentElement;
此外,您无法save
XML到该远程位置。我假设您的主机实际上是 beautysalonishere.tk 并且您的脚本位于文档根目录中,因此请使用
$dbFile = __DIR__ . '/studentdb.xml';
$xml->load($dbFile);
和
$xml->save($dbFile);