【发布时间】:2020-06-14 08:59:39
【问题描述】:
我正在尝试将 HTML 表单的结果保存到 XML 文件以供以后处理。表单有 不幸的是,看起来我一次只能保存一个答案,但我想将所有答案都写在 XML 文件中。这是我尝试过的:
<?php
if(isset($_POST['submit']))
{
$mileage = $_POST['form'];
$file = fopen("data.xml","r+");
fwrite($file,$mileage);
fclose($file);
print_r(error_get_last());
}
?>
<form action= "" method="post" name="form">
<input type="hidden" value = "<?xml version='1.0' encoding='UTF-8'?>"/>
<input type="hidden" value="<miles>"/>
<span class="XMLsimpleType" onclick="selectelm(this, event);" ondblclick="selectelm(this, event);">
<label>Car: </label>
<input type="text" class="car" name="car" value="" onfocus="focusGained(this)" onchange="textChanged(this)" /></span>
<br/></span>
<br>
<span class="XMLsimpleType" onclick="selectelm(this, event);" ondblclick="selectelm(this, event);">
<span class="bike">
<label>Bike: </label>
<input type="text" class="bike" name="bike" value="" onfocus="focusGained(this)" onchange="textChanged(this)" /></span>
<br/></span>
<br>
<input type="hidden" value="</miles>"/>
<input type="submit" name="submit" value="submit"><br>
</form>
表单应该创建一个格式正确的简单 XML 文件,如下所示:
<?xml version='1.0' encoding='UTF-8'?>
<miles>
<car>123</car>
<bike>245</bike>
</miles>
过去四个小时我一直在研究这个问题,我知道我可以让它变得更简单,但首先我想让它正常工作。我可以编写单个表单条目,但不能编写带有 XML 信息的整个表单。我做错了什么?
【问题讨论】:
-
您无法按照您尝试的方式处理表单。一方面,您的 $_POST 数组仅包含具有名称属性的输入元素(即汽车、自行车和表单中的提交)。答案是使用 SimpleXMLElement 将您的 $_POST 数组转换为有效的 XML 结构,请参阅链接 [link]stackoverflow.com/questions/1397036/…
-
我尝试使用句点、逗号和空格将所有输入元素合并到一个 $_Post 中,但这些都不起作用。我将研究 SimpleXMLElement,除非有更简单的方法来组合。