I am new to DOMDocument and intensive PHP. Please forgive my ignorance. I just cant seem to get the Process.php to write to the XML. Ive seen other posts about the same topic, but they didnt help me resolve my issue. Just cant find what I did wrong. Any help would be much appreciated!
Here is the HTML form, form.html.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
<form name="digitalsignage" action="process.php" onsubmit="return defaultagree(this)" method="post">
<table align="center" cellpadding="2" cellspacing="0" width="50%">
<tbody><tr>
<td> Event1:</td><td>
<input name="event1" value="Unknown" type="text"> </td>
<td> Event2:</td><td>
<input name="event2" value="Unknown" type="text"> </td>
<td> Event3:</td><td>
<input name="event3" value="Unknown" type="text"> </td>
<td> Event4:</td><td>
<input name="event4" value="Unknown" type="text"> </td>
<td> Event5:</td><td>
<input name="event5" value="Unknown" type="text"> </td>
</tr>
<tr>
<td colspan="4" style="text-align:center;">
<input name="lsr-submit" value="Submit" type="submit"></td>
</tr>
</tbody></table>
</form>
</body>
</html>
The XML File, file.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://www.SERVER-URL-OF-FEED" rel="self" type="application/rss+xml" />
<title>Todays Events</title>
<item>
<description>
<event1>Event 1</event1>
<event2>Event 2</event2>
<event3>Event 3</event3>
<event4>Event 4</event4>
<event5>Event 5</event5>
</reports>
</item>
</channel>
</rss>
The PHP, process.php
<?php
$event1 = $_POST['event1'];
$event2 = $_POST['event2'];
$event3 = $_POST['event3'];
$event4 = $_POST['event4'];
$event5 = $_POST['event5'];
$xml = new DOMDocument();
$xml->load('file.xml');
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$element = $xml->getElementsByTagName('description')->item(0);
if ($element->length > 0) {
$event1 = $element->getElementsByTagName('event1')->item(0);
$event2 = $element->getElementsByTagName('event2')->item(0);
$event3 = $element->getElementsByTagName('event3')->item(0);
$event4 = $element->getElementsByTagName('event4')->item(0);
$event5 = $element->getElementsByTagName('event5')->item(0);
$newItem = $xml->createElement('description');
$newItem->appendChild($xml->createElement('event1', $_POST['event1']));
$newItem->appendChild($xml->createElement('event2', $_POST['event2']));
$newItem->appendChild($xml->createElement('event3', $_POST['event3']));
$newItem->appendChild($xml->createElement('event4', $_POST['event4']));
$newItem->appendChild($xml->createElement('event5', $_POST['event5']));
$xml->getElementsByTagName('item')->item(0)->appendChild($newItem);
}
$xml->save('file.xml');
echo "Data has been written.";
?>