现在我必须建立一个网上商店的网站,现在我正在做的商店部分我需要像txt文件或xml这样的数据,如名称,价格,img,描述类似的东西。现在它正在读取一个xml文件并根据该文件在它们上创建项目,但现在我需要实现一个像“向商店添加新产品”这样的功能,但我似乎无法将数据附加到该xml文件,我不知道为什么,我已经尝试过PHP,但它确实无效。这是我的一些HTML代码:
这是添加项目的表单:
<form action="Adicionar_produto.php" method="post">
<input type="text" name="name"/>
<input type="text" name="image"/>
<input type="text" name="price">
<input type="submit" name="ok" value="add"/>
</form>
这是我试过的PHP脚本,但目前没有使用:
<?php
if(isset($_REQUEST['OK'])){
$xml = new DOMDocument("1.0", "utf-8");
$xml -> load("Produtos.xml");
$rootTag = $xml -> getElementsByTagName("CATALOG")->item(0);
$dataTag = $xml->createElement("item");
$nameTag = $xml->createElement("name",$_REQUESTE['name']);
$imageTag = $xml->createElement("image",$_REQUESTE['image']);
$priceTag = $xml->createElement("price",$_REQUESTE['price']);
$dataTag->appendChild($nameTag);
$dataTag->appendChild($imageTag);
$dataTag->appendChild($priceTag);
$rootTag->appendChild($dataTag);
$xml->save("Produtos.xml");
}
?>
答案 0 :(得分:0)
如果练习是练习你的原始php,那么可以尝试SimpleXML。这是一个使用它的例子。此外,您正在寻找$_REQUEST['OK']
,但您的表单显示$_REQUEST['ok']
(小写ok
):
if(!empty($_POST['ok'])) {
$Xml = simplexml_load_file("Produtos.xml");
$Item = $Xml->CATALOG->addChild('item');
$Item->addChild('name',$_POST['name']));
$Item->addChild('image',$_POST['image']);
$Item->addChild('price',$_POST['price']);
$Xml->asXml("Produtos.xml");
}
或多或少会为你提供(我不知道你的基本数组是什么命名,我只是命名为config
):
<?xml version="1.0" encoding="UTF-8"?>
<config>
<CATALOG>
<item>
<name>test</name>
<image>brd</image>
<price>123123</price>
</item>
<item>
<name>goood</name>
<image>masss</image>
<price>3212321</price>
</item>
</CATALOG>
</config>