我正在尝试使用 SimpleXML 向 XML 文件添加新条目
XML结构:
<events>
<event id="1">
<name>event name</name>
<time>09:00</time>
<endtime>09:30</endtime>
<category>event category</category>
<description>A description of event</description>
<loc>location of event</loc>
<picturePath>path to picture location</picturePath>
</event>
</events>
表格布局:
<form name ="createEvent" method="post" action="createEvent.php">
<input type="hidden" name="check_submit" value="1" />
<table border="1">
<tr bgcolor="#FFA500">
<th>Name</th>
<th>Start Time</th>
<th>End Time</th>
<th>Category</th>
<th>Description</th>
<th>Location</th>
<th>Picture Path</th>
<th>Create</th>
</tr>
<tr>
<td><input type="text" name="name" placeholder="Enter new event name..."/></td>
<td><input type="text" name="time" placeholder="Enter event start time..."/></td>
<td><input type="text" name="endtime" placeholder="Enter event end time..."/></td>
<td><input type="text" name="category"/></td>
<td><input type="text" name="description" placeholder="Enter a description of the event..."/></td>
<td><input type="text" name="loc"/></td>
<td><input type="text" name="picturePath" placeholder="Enter link to picture..."/></td>
<td><input type="submit" name="create" class="box" value="Create"/></td>
</tr>
</table
</form>
PHP提交文件(所有的工作是什么):
<?php
if (array_key_exists('check_submit', $_POST)) {
$xml = new SimpleXMLElement ('http://odapp.unsw.adfa.edu.au/~z3370257/joel/practice/events-small.xml', null, true);
$id = count($xml->event);
$add = 1;
$newid = $id + $add;
$event = $xml->addChild('event');
$event->addAttribute('id', $newid);
$event->addChild('name', $_POST['name']);
$event->addChild('time', $_POST['time']);
$event->addChild('endtime', $_POST['endtime']);
$event->addChild('category', $_POST['category']);
$event->addChild('description', $_POST['description']);
$event->addChild('loc', $_POST['loc']);
$event->addChild('picturePath', $_POST['picturePath']);
$xml->asXML('http://odapp.unsw.adfa.edu.au/~z3370257/joel/practice/events-small.xml');
} else {
echo "You can't see this page without submitting the form.";
}
?>
老实说,我想不出为什么这不起作用。我尝试将帖子数据以以下形式放入数组中:
$newEvent = array(
'name' => $_POST['name']
etc.
和
$name = $_POST['name']
etc.
无济于事。我已经更改了文件的权限,所以它们都是读/写/执行的。我几乎要说这可能与服务器上的安全性有关,但它允许我轻松获取数据,所以我不确定。任何帮助,将不胜感激